Scala代码解析:从MySQL读取数据并写入Hive表
这段Scala代码主要实现从MySQL数据库读取数据,然后将数据写入到Hive表中。具体实现过程如下:
-
导入需要使用的库和包,其中包括Spark SQL中的一些函数和操作MySQL数据库所需的Properties包。
-
创建一个单例对象'sparkReadMySQLWriteHivePar',并在该对象中定义了一个'main'函数,作为程序的入口函数。
-
设置HDFS用户为'root',以便获得对HDFS的写权限。
-
创建一个SparkSession对象,用于连接Spark集群,并进行相关配置。其中,使用了本地模式,配置了Hive的执行模式为'nonstrict',启用了Hive支持,并指定了Hive数据仓库的位置。
-
定义了MySQL数据库的URL地址和连接属性,包括用户名、密码和驱动名称。
-
使用SparkSession的'read.jdbc'函数读取MySQL数据库中的'order_info'表,并将结果保存在'readMySQLDF'变量中。
-
使用'withColumn'函数给读取到的数据添加一个名为'etl_date'的列,并将该列的值设置为'20230401',并将结果保存在'readMySQLDF2'变量中。
-
使用'write'函数将数据写入到Hive表中。其中,使用了'overwrite'方式覆盖原有数据,指定了数据格式为'hive',按照'etl_date'字段进行分区,并将结果保存在'ods.order_info_par'表中。
-
关闭SparkSession。
原文地址: https://www.cveoy.top/t/topic/mWVX 著作权归作者所有。请勿转载和采集!