模块B题目
模块 B:数据采集(15分)
环境说明: 服务端登录地址详见各模块服务端说明。 补充说明: 各节点可通过 Asbru 工具或 SSH 客户端进行SSH访问; 主节点 MySQL 数据库用户名/密码:root/123456(已配置远程连接); Hive的配置文件位于主节点/opt/module/hive-3.1.2/conf/ Spark 任务在Yarn 上用 Client 运行,方便观察日志; 建议使用 gson 解析 json 数据。 ———— 2023年福建省赛题目
任务一:离线数据采集
编写Scala工程代码,将 MySQL 的 dsdb01 库中表 order_master
、order_detail
、coupon_info
、 coupon_use
、 product_browse
、 product_info
、 customer_inf
、 customer_login_log
、 order_cart
、 customer _level_inf
、 customer_addr
的数据增量抽取到 Hive 的 ods
库中对应表 order_master
、order_detail
、coupon_info
、 coupon_use
、 product_browse
、 product_info
、 customer_inf
、customer_ login_log 、 order_cart
、 customer_level_inf
、 customer_addr
中( ods
库中部分表没有数据,正常抽取即可)。
- 抽取
ds_db01
库中order_master
的增量数据进入 Hive 的ods
库中表order_master
。根据 ods.order_master
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为 String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli执行show partitions
ods.order_master
命令,将执行结果截图粘贴至客户端桌面【Release\模块B提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中order_detail
的增量数据进入 Hive 的ods
库中表order_detail
。根据 ods.order_detail
表中modified_time
作为增量字段只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为 String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions
ods.order_detail
命令,将执行结果截图粘贴至客户端桌面【Release\模块B提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中coupon_info
的增量数据进入Hive的ods
库中表coupon_info
,根据 ods.coupon_info
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为 String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli执行show partitions
ods.coupon_info
命令,将执行结果截图粘贴至客户端桌面【Release\模块B 提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中coupon_use
的增量数据进入Hive的ods
库中表coupon_use
,增量字段取ods.coupon_use
表中 get_time、used_time、pay_time 中的最大者,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为 String,且值为当前比赛日的前一天日期(分区字段格式为 yyyyMMdd)。使用Hive Cli 查询最新分区数据总条数,将执行结果截图粘贴至客户端桌面【Release\模块 B 提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中product_browse
的增量数据进入 Hive的ods
库中表product_browse
,根据ods.product_browse
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为 String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli执行 show partitionsods.product_browse
命令,将执行结果截图粘贴至客户端桌面【Release模块B提交结果.docx】中对应的任务序号下。 - 抽取
ds_db01
库中product_info
的增量数据进入 Hive 的ods
库中表product_info
,根据ods.product_info
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli执行show partitionsods.product_info
命令,将执行结果截图粘贴至客户端桌面【Release 模块B提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中customer_inf
的增量数据进入 Hive 的ods
库中表customer_inf
,根据ods.customer_inf
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为 String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli执行show partitionsods.customer_inf
命令,将执行结果截图粘贴至客户端桌面【Release\模块B 提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中customer_login_log
的增量数据进入Hive的ods
库中表customer_login_log
,根据ods.customer_login_log
表中login_time
作增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区分区字段为etl_date
,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli执行show partitions ods.customer_login_log
命令,将执行结果截图粘贴至客户端桌面【Release模块B提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中order_cart
的增量数据进入 Hive 的ods
库中表order_cart
,根据ods.order_cart
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli 执行 show partitionsods.order_cart
命令,将执行结果截图粘贴至客户端桌面【Release\模块 B 提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中customer_addr
的增量数据进入 Hive的ods
库中表customer_addr
,根据ods.customer_addr
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用 hive cli执行 show partitionsods.customer_addr
命令,将执行结果截图粘贴至客户端桌面【Release\模块 B提交结果.docx】中对应的任务序号下; - 抽取
ds_db01
库中customer_level_inf
的增量数据进入Hive的ods
库中表customer_level_inf
,根据ods.customer_level_inf
表中modified_time
作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date
,类型为 String,且值为当前比赛日的前一天日期(分区字段格式为 yyyyMMdd)。使用 hive cli 执行 show partitionsods.customer_level_inf
命令,将执行结果截图粘贴至客户端桌面【Release\模块B提交结果.docx】中对应的任务序号下。