2023年国赛_赛项规程样题解析(Hudi_V2)-离线数据处理_子任务二:数据清洗
这是本赛题解析的第二个版本,按照比赛的评判标准做了代码降级处理。
任务描述
编写Scala代码,使用Spark将ods库中相应表数据全量抽取到Hudi的dwd_ds_hudi库(路径为路径为/user/hive/warehouse/dwd_ds_hudi.db)中对应表中。表中有涉及到timestamp类型的,均要求按照yyyy-MM-dd HH:mm:ss,不记录毫秒数,若原数据中只有年月日,则在时分秒的位置添加00:00:00,添加之后使其符合yyyy-MM-dd HH:mm:ss。(若dwd_ds_hudi库中部分表没有数据,正常抽取即可)
启动Hive Metastore服务
本解析示例使用Spark SQL读写Hudi表,需要访问Hive Metastore服务。在终端中执行如下命令:
$ hive --service metastore
这将保持Hive Metastore服务一直运行,请勿关闭终端。如果要将其作为后台服务启动,则可以使用下面的命令:
$ nohup hive --service metastore &
这个命令将启动Hive Metastore服务,并在后台持续运行。
本解析示例基于PBCP2023进行测试,使用spark-shell执行Spark SQL来操作Hudi表数据。单击以下链接,快速跳转到相应的子任务。