最近剛看spark的資料處理
在資料抽取上分為增量和全量
全量資料抽取
把源系統所有資料復制到系統目標表同步方式就叫做—>全量
增量資料
增量抽取指的是只抽取前次抽取之后發生變化或者新增的資料
這是全量資料抽取
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("kks")
val spark = SparkSession.builder().config(conf)
.config("hive.metastore.uris", "thrift://192.168.132.145:9083")//指定hive的metastre服務地址
.config("spark.sql.warehouse.dir", "hdfs://192.168.132.149:9000//usr/hive_remote/warehouse")//指定hive在hdfs上的warehouse倉庫地址
.enableHiveSupport()
.getOrCreate
val mydata = spark.read.format("jdbc")//用jdbc的方式鏈接mysql
.option("url", "jdbc:mysql://127.0.0.1:3306/text")//指定本地mysql下的text資料庫
.option("driver", "com.mysql.jdbc.Driver")//driver指定mysql驅動形式為jdbc
.option("user", "root")//mysql用戶
.option("password", "123")//mysql的密碼
.option("dbtable", "oo").load()//指定表格
spark.sql("show databases").show()//查看hive下的資料庫
spark.sql("use ods")//轉換成ods成
spark.sql("select * from ods.new_user").show()//查看ods層下的new_user表格
mydata.write.mode("overwrite").partitionBy("id").saveAsTable("new_user")
//將mysql中的oo表中的資料寫入hive mode (overwrite)為覆寫寫入會將原表洗掉重建表寫入資料 partitionBy(id)設定以id為磁區
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/374647.html
標籤:其他
