pyspark中的spark.sql-无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

时间:2019-07-16 18:19:15

标签: hive pyspark-sql

在尝试执行简单的SQL查询时,pyspark.sql出现问题,但是出现以下错误:

  

AnalysisException:'org.apache.hadoop.hive.ql.metadata.HiveException:   java.lang.RuntimeException:无法实例化   org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient;'

最初读取Hive表的代码可以正常工作:

  

df =   spark.read.csv(“ hdfs:// localhost:54310 / user / hduser / creditfraud / creditscoring.csv”,   header = True,sep =',',inferSchema = True)df.printSchema()

但是,一旦我运行spark.sql,就会遇到一些麻烦:

  

df.createOrReplaceTempView(“ CreditTempTable”)

     

df1 = spark.sql(“ SELECT * FROM CreditTempTable LIMIT 10”)df1.show()

Hive 2.3.5正常工作,我可以看到表并在其中运行SQL代码,因此我认为问题出在以下Spark和Linux配置文件中:

spark-defaults.conf:

  

spark.sql.hive.metastore.version 2.3.0

     

spark.sql.hive.metastore.jars   / usr / local / hive / lib / :/ usr / local / hadoop / share / hadoop /

.bashrc配置文件:

  

设置HIVE_HOME导出

     

HIVE_HOME = / usr / local / hive   导出HIVE_CONF_DIR = / usr / local / hive / conf   PATH = $ PATH:$ HIVE_HOME / bin   导出路径   导出HADOOP_CLASSPATH = $ HADOOP_CLASSPATH:/ usr / local / hive / lib / *

     

设置Spark变量

     

导出SPARK_HOME = / usr / local / spark   PATH = $ PATH:$ SPARK_HOME / bin   导出PYSPARK_PYTHON = python3导出   PYSPARK_DRIVER_PYTHON = jupyter导出   PYSPARK_DRIVER_PYTHON_OPTS =“笔记本”

如果您能帮助我弄清问题的根源,我将不胜感激。

0 个答案:

没有答案