我在Jupyter Notebook中设置了Spark Magic环境。我的目的是读取一个excel文件并为其生成hadoop表。但是,当我通过读取excel文件来创建熊猫数据帧,然后创建spark数据帧,然后从spark数据帧创建hadoop表时,它抛出了一个错误-“无法调用saveAsTable。在进一步调查时,我意识到我无法执行任何操作我的Spark数据框上的逻辑命令(例如.count()、. show())。 如果我将现有的hadoop表读取到spark数据帧中,然后再写入hadoop表中,则它运行良好。
相同的代码可以正常进行火花初始化,但不能在火花魔术中正常工作。
pandas_df=pd.read_excel(os.path.join(os.getcwd(),'pragya.xlsx'))
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.mode("overwrite").saveAsTable("myDB.pragya_test")
Py4JJavaError:调用o937.saveAsTable时发生错误。 :org.apache.spark.SparkException:作业中止。