Spark查询Hive表时没有权限及无法找到表

用spark-submit执行python文件,进行hive表的操作时,会出现报错:

java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx------
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
        at org.apache.spark.sql.hive.client.HiveClientImpl.(HiveClientImpl.scala:171)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)...

表示对hdfs下/tmp/hive目录的操作权限没有写权限。

解决方法为:

同时删HDFS与本地的目录/tmp/hive:

hadoop fs -rm -r /tmp/hive

rm -rf /tmp/hive

spark查询hive表时可能会出现找不到表或者视图的情况,该情况是由于spark未知hive的配置。

解决方案为:

在hive的配置目录conf下,找到hive的配置文件hive-site.xml

将该文件复制到spark的conf目录下

重新运行spark shell或者通过spark-submit运行文件


  
  
      

你可能感兴趣的:(hadoop,spark)