【问题标题】:Error running introductory example of scala-xml运行 scala-xml 的介绍性示例时出错
【发布时间】:2017-07-24 22:48:18
【问题描述】:

我正在尝试运行README of 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")

(从 README 复制粘贴;books.xml 确实在本地目录中)

这给了我错误:

名称:编译错误

消息::1:错误:定义的非法开始

.format("com.databricks.spark.xml")

^

堆栈跟踪:

我正在使用带有 Spark/Scala 内核的 Jupyter notebook 运行它。

我确定这是一个简单的错误,但我是 Scala/Spark 的新手。

版本信息:

  • 火花:2.0.1
  • 斯卡拉:2.11.8

【问题讨论】:

  • 哪个 scala 版本?在一条线上尝试所有呼叫。
  • @Reactormonk which scala 建议版本为scala-2.11.8
  • @Reactormonk 从一行运行会给出不同的错误:“无法找到数据源:com.databricks.spark.xml。”...我在 README 中没有看到任何其他内容,这表明我需要做其他事情才能从 databricks 导入?
  • 你添加库依赖了吗??? com.databricks:spark-xml_2.11:0.4.1 ??

标签: scala apache-spark scala-xml


【解决方案1】:

您可以使用 --packages 命令行选项将包添加到 Spark

根据评论和问题,您应该尝试在一行中运行代码,它将解决您的“错误:定义的非法开始”问题

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|

【讨论】:

  • 如何从 Jupyter 笔记本运行它?即,如何在 Jupyter 中向 Scala 内核添加命令行选项?
猜你喜欢
  • 1970-01-01
  • 2010-11-22
  • 2020-12-08
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
相关资源
最近更新 更多