全量抽取到hive(静态分区)

理解分区字段

完整代码

package extract

import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession

object test {
  def main(args: Array[String]): Unit = {
    val conf= new  SparkConf().setMaster("local[*]").setAppName("test1").set("spark.testing.memory","2147480000")
    System.setProperty("HADOOP_USER_NAME", "root")
    val connect= SparkSession.builder()
      .config("hive.metastore.uris","thrift://192.168.1.12:9083")
      .config("spark.sql.warehouse ","hdfs://192.168.1.12:9000//user/hive/warehouse")
      .config(conf).enableHiveSupport().getOrCreate()
    connect.sql("use school")

//    connect.sql("select count(*) from stu").show()
//    connect.sql("select * from stust").show()
//    connect.sql("select * from student").show()

//    连接mysql
    val connectmysql =connect.read.format("jdbc")
      .option("url","jdbc:mysql://192.168.1.12:3306/school?&useSSL=false")
      .option("driver","com.mysql.jdbc.Driver")
      .option("user","root")
      .option("password","123456")
      .option("dbtable","student").load().createOrReplaceTempView("v")
    connect.sql("select * from v").show()
//    connect.sql("drop table student")
//    将数据抽取到hive,创表
//    connect.sql(
//      """
//        |create table if not exists student(
//        |id int,
//        |name string,
//        |sex string,
//        |age string
//        |)
//        |partitioned by (aparment string)
//        |row format delimited fields terminated by ','
//        |""".stripMargin)

    //    1.dfwrite
//      .write.format("parquet") .mode("overwrite") .saveAsTable("student")

    //   2. sparksql全量抽取 静态分区
    connect.sql(
      """
        |insert overwrite
        |table school.student
        |partition(aparment="IS")
        |select id,name,sex,age from v
        |""".stripMargin)
    connect.sql("select * from school.student").show()
    connect.stop()

  }

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值