补充-全量抽取、增量抽取、覆盖写入和增量写入
所谓全量抽取,指的是将mysql中整个表的数据都读取出来,写入Hive表中。写入的时候,可以覆盖写入(overwrite模式),也可以是增量追加(append模式)。
下面的例子中,实现了mysql数据的全量抽取、增量抽取和Hive表的覆盖写入、增量写入。
1) 在Mysql中创建一个数据表mytb,并插入一些初始数据:
# 创建表 create table olist.mytb( mid int, mdate date ); # 插入初始数据 insert into olist.mytb values (1,"2022-04-05"), (2,"2022-04-06");
2) 将mytb表中初始的数据全部抽取(全量抽取)并加载到Hive表中(覆盖写入)。实现代码如下:
import org.apache.spark.sql.SparkSession object EtlDemo { def main(args: Array[String]): Unit = { // 创建SparkSession实例 val spark = SparkSession.builder() .master("local[*]") .appName("ETL Demo") .config("hive.exec.dynamic.partition", "true") //开启动态分区,默认是false .config("hive.exec.dynamic.partition.mode", "nonstrict") //允许所有分区都是动态的,否则必 ............
抱歉,只有登录会员才可浏览!会员登录