Scala 未指定火花壳路径异常

Scala 未指定火花壳路径异常,scala,apache-spark,streaming,apache-kafka,Scala,Apache Spark,Streaming,Apache Kafka,我正在linux上使用2.1版本的spark shell /bin/sparkshell-packagesorg.apache.spark:spark-sql-kafka-0-10_2.11:2.1.0 火花壳启动良好,没有任何问题 val ds1=spark.readStream.option(“kafka.bootstrap.servers”,“xx.xx.xxx.xxx:9092,xx.xx.xxx.xxx:9092”).option(“订阅”,“米老鼠”).load() 我得到以下例外

我正在linux上使用2.1版本的spark shell

/bin/sparkshell-packagesorg.apache.spark:spark-sql-kafka-0-10_2.11:2.1.0

火花壳启动良好,没有任何问题

val ds1=spark.readStream.option(“kafka.bootstrap.servers”,“xx.xx.xxx.xxx:9092,xx.xx.xxx.xxx:9092”).option(“订阅”,“米老鼠”).load()

我得到以下例外

java.lang.IllegalArgumentException: 'path' is not specified
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$9.apply(DataSource.scala:205)
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$9.apply(DataSource.scala:205)
  at scala.collection.MapLike$class.getOrElse(MapLike.scala:128)
  at org.apache.spark.sql.catalyst.util.CaseInsensitiveMap.getOrElse(CaseInsensitiveMap.scala:23)
  at org.apache.spark.sql.execution.datasources.DataSource.sourceSchema(DataSource.scala:204)
  at org.apache.spark.sql.execution.datasources.DataSource.sourceInfo$lzycompute(DataSource.scala:87)
  at org.apache.spark.sql.execution.datasources.DataSource.sourceInfo(DataSource.scala:87)
  at org.apache.spark.sql.execution.streaming.StreamingRelation$.apply(StreamingRelation.scala:30)
  at org.apache.spark.sql.streaming.DataStreamReader.load(DataStreamReader.scala:124)

The kafka server is up and running.

你知道我怎样才能成功地阅读卡夫卡的资料吗。

你忘了调用
格式
方法。默认格式为
parquet
。这就是为什么它在寻找一条路。将代码更改为
spark.readStream.format(“kafka”)。选项…
应该可以解决此问题。

这应该可以解决此问题:

$spark2-shell --jars /tmp/spark-sql-kafka-0-10_2.11-2.3.0.jar

Scala>val df = spark.readStream.format("kafka").option("kafka.bootstrap.servers", "node01:9093,node02:9093,node03:9093").option("subscribe", "testTopic").load()

df: org.apache.spark.sql.DataFrame = [key: binary, value: binary ... 5 more fields]

我知道现在回应已经太迟了,但可能会帮助一些遇到类似问题的人

我以前确实试过:val ds1=spark.readStream.format(“kafka”).option(“kafka.bootstrap.servers”,“xx.xx.xxx.xxx:9092,xx.xx.xxx.xxx:9092”).option(“subscribe”,“MickyMouse”).load()java.lang.ClassNotFoundException:找不到数据源:kafka。请在查找软件包,我尝试查看网页,但不知道如何解决问题。谢谢你的回复。感谢由以下原因引起的:java.lang.ClassNotFoundException:kafka.DefaultSource at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:62)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)您需要将结构化流式Kafka连接器添加到类路径。请参阅确保更改参数以匹配您的Scala版本。我认为我遇到的问题是由于公司防火墙阻止访问maven存储库。我下载了以下jar并将它们复制到jars文件夹中,所有spark jar都保存在那里。jar是:spark-streaming-kafka-0-10_2.11-2.0.0.jar spark-streaming-kafka-0-10-assembly_2.11-2.1.0.jar spark-sql-kafka-0-10_2.11-2.1.0.jar spark-sql_2.11-2.1.0.jar kafka-clients-0.10.2.1.jar kafka-2.11-0.2.2.1.jar。这有助于解决问题。