spark + hive

1.如何让 spark-sql 能够访问hive?

只需将hive-site.xml 放到 spark/conf 下即可,hive-site.xml 内容请参照hive集群搭建

 2.要在spark 代码中使用sql操作hive,需要在初始化sparksession 时加上

enableHiveSupport()
 val spark = SparkSession
      .builder()
      .appName("df")
      .master("local[*]")
      .enableHiveSupport()
      .getOrCreate()

3.spark开启hive动态分区功能

spark.sql("SET hive.exec.dynamic.partition = true")
spark.sql("SET hive.exec.dynamic.partition.mode = nonstrict ")

4.spark 查看hive表是否存在

val exists = spark.catalog.tableExists(db, tb)

5.spark 删除hdfs路径(用于重建hive表指定路径)

val hadoopConf = spark.sparkContext.hadoopConfiguration
        val hdfs = org.apache.hadoop.fs.FileSystem.get(hadoopConf)
        val path = new Path(location)
        if (hdfs.exists(path)) {
          //为防止误删,禁止递归删除
          hdfs.delete(path, false)
        }

 

转载于:https://www.cnblogs.com/jason-dong/p/9626413.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值