在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表中的主要内容,如果未能解决你的问题,请参考以下文章

无法在 qt creator 上的 c++ 上链接 realsense 库

在 WhatsApp 短信上链接地理位置

无法在 Mac OS X 上链接静态库

如何在Azure上链接docker容器?

更改 iOS/ipad 上链接的 URL(应用内)

如何在 Matlab 极轴上链接数据图像?