模块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 partitionsods.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 partitionsods.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 partitionsods.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】中对应的任务序号下。