当前位置: 首页 > 知识库问答 >
问题:

如何在Spark 2.2.0中加载XML文件?

扶开诚
2023-03-14

当我在spack-2.2.0中加载xml文件时,如下所示:

var ac = spark.read.format("xml").html" target="_blank">option("rowTag", "App").load("/home/sid/Downloads/Files/*.xml")

它向我展示了一个错误:

JAVAlang.ClassNotFoundException:未能找到数据源:xml。请在http://spark.apache.org/third-party-projects.html在org。阿帕奇。火花sql。处决数据源。数据源$。org上的lookUpdateSource(DataSource.scala:549)。阿帕奇。火花sql。处决数据源。数据源。在org上提供class$lzycompute(DataSource.scala:86)。阿帕奇。火花sql。处决数据源。数据源。在org上提供类(DataSource.scala:86)。阿帕奇。火花sql。处决数据源。数据源。resolveRelation(DataSource.scala:301)位于org。阿帕奇。火花sql。DataFrameReader。在org上加载(DataFrameReader.scala:178)。阿帕奇。火花sql。DataFrameReader。加载(DataFrameReader.scala:156)。。。48删去

原因:java。lang.ClassNotFoundException:xml。scala的DefaultSource。反映内部的util。AbstractFileClassLoader。java上的findClass(AbstractFileClassLoader.scala:62)。lang.ClassLoader。java上的loadClass(ClassLoader.java:424)。lang.ClassLoader。org上的loadClass(ClassLoader.java:357)。阿帕奇。火花sql。处决数据源。数据源$$anonfun$21$$anonfun$apply$12。在org上申请(DataSource.scala:533)。阿帕奇。火花sql。处决数据源。数据源$$anonfun$21$$anonfun$apply$12。在scala上应用(DataSource.scala:533)。util。试试美元。在org上申请(Try.scala:192)。阿帕奇。火花sql。处决数据源。数据源$$anonfun$21。在org上申请(DataSource.scala:533)。阿帕奇。火花sql。处决数据源。数据源$$anonfun$21。在scala上应用(DataSource.scala:533)。util。尝试orElse(Try.scala:84)网站。阿帕奇。火花sql。处决数据源。数据源$。LookUpdateSource(DataSource.scala:533)。。。还有53个

共有2个答案

董鸣
2023-03-14

@sahil desai——既然我们已经添加了对xml的依赖,那么为什么我们要创建spark上下文,因为spark shell已经提供了spark会话作为spark。这不是更好吗?

 val df = spark.read.format("xml")
         .option("rowTag", "app")
         .load("/home/sid/Downloads/Files/*.xml")
戚哲
2023-03-14

在这里,您必须使用databricks包来加载XML文件。您可以使用以下带有spark submit或spark shell的命令加载databricks包。

$SPARK_HOME/bin/spark-shell --packages com.databricks:spark-xml_2.10:0.4.1

然后你可以按照这个加载。

val df = spark.read
  .format("com.databricks.spark.xml")
  .option("rowTag", "app")
  .load("/home/sid/Downloads/Files/*.xml")

有关更多信息,请访问此链接。https://github.com/databricks/spark-xml

 类似资料:
  • 问题内容: 在JavaFX程序中添加切片图的最有效方法是什么? 我用于创建切片地图的程序称为“ Tiled”,保存的文件为.tmx格式。 现在,问题是,如何将其准确导入我的2d游戏中?我一直无法在网上找到有用的信息。 代码示例非常感谢。 谢谢 问题答案: 使用Eppleton JavaFX TileEngine (不幸的是,此链接现在已失效:类似的内容仍托管在javageeks上: 当心链接带有令

  • 我有一个xml文件,想要加载一些网页。如何这样做。

  • 在上下文参数中加载上下文和在调度程序 Servlet 的初始化参数中加载上下文之间有什么区别? 相对 我的理解是context-参数由上下文侦听器加载,应该只包含中间层bean。Dispatcher Servlet在其init方法中应该加载web层bean。这种理解正确吗?为什么我们分别加载两个东西?

  • 问题内容: 我想加载xml文件,其中包含Spring Maven项目中几个模块的一些错误定义。我想加载文件,然后将其传递给JAXB解混器。 这是我到目前为止所做的 我的资源文件位于以下位置 这给我以下错误 但是当我如下更改路径时 有用 以下是我没有运气尝试过的其他通配符 我想做的是使用通配符从下面的任何文件夹中获取xml文件。 我之前提到过几个SO答案,但仍然无法弄清楚我在做什么错。 问题答案:

  • 我需要取消扫描包含转义xml标记的xml字符串: 我确实找到了一些可以执行此任务的库,但我宁愿使用可以执行此任务的单个方法。 有人能帮忙吗? 干杯,Bas Hendriks

  • 如何将数据添加到xml文件中,并在其上附加其他数据(如果存在)? 我尝试了以下代码,但这段代码只创建了一个值节点,没有附加到文件中。它总是删除现有的,然后添加新的。