Dataframe 从Windows 10在Pyspark中创建数据帧问题

Dataframe 从Windows 10在Pyspark中创建数据帧问题,dataframe,pyspark,hadoop-2.7.2,Dataframe,Pyspark,Hadoop 2.7.2,我无法从pyspark windows执行以下命令 schemaPeople = spark.createDataFrame(people) 我已将HADOOP_设置为winutils 我已向C:/tmp/hive提供77个许可 我仍然得到以下错误- Py4JJavaError: An error occurred while calling o23.applySchemaToPythonRDD. : java.lang.RuntimeException: java.lang.RuntimeE

我无法从pyspark windows执行以下命令

schemaPeople = spark.createDataFrame(people)
我已将HADOOP_设置为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)
Py4JJavaError:调用o23.applySchemaToPythonRDD时出错。
:java.lang.RuntimeException:java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
位于org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
位于org.apache.spark.sql.hive.client.HiveClientImpl.(HiveClientImpl.scala:189)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于org.apache.spark.sql.hive.client.IsolatedClient.createClient(IsolatedClient.scala:258)
位于org.apache.spark.sql.hive.HiveUtils$.newClientForMetadata(HiveUtils.scala:359)
位于org.apache.spark.sql.hive.HiveUtils$.newClientForMetadata(HiveUtils.scala:263)
位于org.apache.spark.sql.hive.HiveSharedState.metadataHive$lzycompute(HiveSharedState.scala:39)
位于org.apache.spark.sql.hive.HiveSharedState.metadataHive(HiveSharedState.scala:38)
位于org.apache.spark.sql.hive.HiveSharedState.externalCatalog$lzycompute(HiveSharedState.scala:46)

在发布这篇文章之前,我已经经历了很多类似的问题,非常感谢这里的帮助

我在尝试使用winutils文件在windows上安装Spark时遇到了一系列错误。我必须以不同的方式设置Spark来绕过这个问题

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

要点是,Apache的官方Hadoop版本不包含Windows二进制文件,从源代码进行编译可能会很乏味,因此真正有帮助的人提供了编译后的发行版。如果您想使用Spark 2.0.2从2.1.0下载二进制文件,您可以从那里下载,您应该能够按照预期进行设置