从Windows 10在Pyspark中创建Dataframe问题

时间:2017-04-12 17:10:47

标签: dataframe pyspark hadoop-2.7.2

我无法从pyspark windows

执行以下命令
schemaPeople = spark.createDataFrame(people)

我已将HADOOP_HOME设置为winutils 我已向C:/ tmp / hive

提供了77个权限

我仍然收到以下错误 -

Py4JJavaError: An error occurred while calling o23.applySchemaToPythonRDD.
: java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
    at org.apache.spark.sql.hive.client.HiveClientImpl.<init>(HiveClientImpl.scala:189)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.apache.spark.sql.hive.client.IsolatedClientLoader.createClient(IsolatedClientLoader.scala:258)
    at org.apache.spark.sql.hive.HiveUtils$.newClientForMetadata(HiveUtils.scala:359)
    at org.apache.spark.sql.hive.HiveUtils$.newClientForMetadata(HiveUtils.scala:263)
    at org.apache.spark.sql.hive.HiveSharedState.metadataHive$lzycompute(HiveSharedState.scala:39)
    at org.apache.spark.sql.hive.HiveSharedState.metadataHive(HiveSharedState.scala:38)
    at org.apache.spark.sql.hive.HiveSharedState.externalCatalog$lzycompute(HiveSharedState.scala:46)

在发布此内容之前,我经历过很多类似的问题,感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我尝试使用winutils文件在Windows上设置Spark时出现了这个错误。我不得不以不同的方式设置Spark来解决这个问题。

我最终为我的spark版本下载了Hadoop二进制文件并从那里开始。如果您有兴趣,我会通过演练记录整个事情。 Spark on windows

要点是Apache的官方Hadoop版本不包含Windows二进制文件,并且从源代码编译可能很乏味,所以真正有用的人已经编译了可用的编译器。如果您想使用Spark 2.0.2从steve loughran's github下载2.1.0的二进制文件,您可以从那里here下载,您可以按预期进行设置。