在idea上链接hive 并将mysql上的数据抽取到hive表中
Posted 小刘秃头日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在idea上链接hive 并将mysql上的数据抽取到hive表中相关的知识,希望对你有一定的参考价值。
最近刚看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为分区
以上是关于在idea上链接hive 并将mysql上的数据抽取到hive表中的主要内容,如果未能解决你的问题,请参考以下文章