我正在尝试运行在scala-xml上提供的简单示例,但是代码不会运行:
import org.apache.spark.sql.SQLContext
val sqlContext = new SQLContext(sc)
val df = sqlContext.read
.format("com.databricks.spark.xml")
.option("rowTag", "book")
.load("books.xml")(从自述文件复制粘贴;books.xml确实在本地目录中)
这给我带来了错误:
名称:编译错误 消息:1:错误:非法开始定义 .format("com.databricks.spark.xml") ^ StackTrace:
我在一个带有Spark/Scala内核的木星笔记本上运行这个程序。
我相信有一个简单的错误,但我是全新的Scala/火花。
版本信息:
发布于 2017-07-25 08:12:44
您可以使用- packages命令行选项将包添加到火花中。
根据注释和问题,您应该尝试在一行中运行代码,这将解决您的“错误:非法开始定义”的问题。
val df = spark.read.format("com.databricks.spark.xml").option("rowTag", "book").load("book.xml")下一步是“未能找到数据源: com.databricks.spark.xml”。
尝试添加库依赖/包"com.databricks:spark-xml_2.11:0.4.1 "
spark-shell --packages com.databricks:spark-xml_2.11:0.4.1
val df = spark.read.format("com.databricks.spark.xml").option("rowTag", "book").load("book.xml")
df.show
+-----+--------------------+--------------------+---------------+-----+------------+--------------------+
| _id| author| description| genre|price|publish_date| title|
+-----+--------------------+--------------------+---------------+-----+------------+--------------------+
|bk101|Gambardella, Matthew|An in-depth look ...| Computer|44.95| 2000-10-01|XML Developer's G...|
|bk102| Ralls, Kim|A former architec...| Fantasy| 5.95| 2000-12-16| Midnight Rain|
|bk103| Corets, Eva|After the collaps...| Fantasy| 5.95| 2000-11-17| Maeve Ascendant|https://stackoverflow.com/questions/45291259
复制相似问题