我正在处理一个Glue ETL作业,该作业基本上读取Pyspark中的 Dataframe ,并应以XML格式输出数据。我已经搜索了很多解决方案,但代码在下面所示的特定write语句处失败:
df.write.format('com.databricks.spark.xml').options(rowTag='book', rootTag='books').save('newbooks.xml')
我目前使用的Glue版本是Glue 3.0 - Spark 3.1、Scala 2和Python 3。由于我正在尝试使用Spark-XML库,因此我尝试将以下jar作为依赖项包含在Glue脚本中:
spark-xml_2.10-0.3.5,
spark-xml_2.11-0.7.0,
spark-xml_2.12-0.14.0,
spark-xml_2.13-0.14.0
我在不同版本中看到的不同错误如下:
第一次
调用o95.save. scala/$less$colon$less
时出错
我找到了一个类似的问题,之前有人贴过类似的问题,我尝试过这些方法,但似乎都不起作用了。最近有人遇到过类似的问题吗?如果有,你能提供一些解决方案吗?
1条答案
按热度按时间brgchamk1#
首先看看Spark的Scala版本是什么,如果是2.11,则使用spark-xml_2.11-0.7.0,如果是2.12,则使用spark-xml_2.12-0.14.0,其余部分也是如此。
现在spark-xml也有了对其他jar的依赖关系。
1.通用输入输出版本2.11.0
希望这会有所帮助。
参考-https://github.com/databricks/spark-xml/blob/master/build.sbt