Spark连接Hive数据源连接问题

来源:6-6 hive数据源案例

M_996

2020-02-14

object HiveSourceApp {
  def main(args: Array[String]): Unit = {
    // 如果你想使用Spark来访问Hive的时候,一定需要开启Hive的支持
    val spark: SparkSession = SparkSession.builder().appName("HiveSourceApp").master("local")
      .enableHiveSupport().getOrCreate()
    import spark.implicits._

    // 走的就是连接 default数据库中的pk表,如果你是其他数据库的,那么也采用类似的写法即可
    spark.table("pk").show()


    spark.stop()
  }
}

写入一张表的数据到Hive的时候,报没有权限操作HDFS上/user/hive/warehouse目录的异常。
PK哥,如何设置用户为hadoop呢

Exception in thread “main” org.apache.hadoop.security.AccessControlException: Permission denied: user=apple, access=WRITE, inode="/user/hive/warehouse":hadoop:supergroup:drwxr-xr-x;

写回答

2回答

Michael_PK

2020-02-14

idea里面跑支持hive的特别是win环境比较麻烦的,建议你这个支持hive的代码打包到服务器执行

0
1
M_996
好的,谢谢PK哥
2020-02-15
共1条回复

EaApple

2020-10-05

在主函数中设定

System.setProperty("HADOOP_USER_NAME", "hadoop")

0
1
Michael_PK
只要设定的用户具有那个目录的访问权限就可以
2020-10-05
共1条回复

SparkSQL入门 整合Kudu实现广告业务数据分析

大数据工程师干货课程 带你从入门到实战掌握SparkSQL

535 学习 · 192 问题

查看课程