我一直在尝试使用SparkContext
对象以多种方式读取.csv文件。我通过scala.io.Source.fromFile
函数发现这是可能的,但我想使用火花对象。每次我为org.apache.spark.SparkContext
运行函数textfile
时,我都会得到相同的错误:
scala> sparkSession.read.csv("file://C:\Users\184229\Desktop\bigdata.csv")
21/12/29 16:47:32 WARN streaming.FileStreamSink: Error while looking for metadata directory.
java.lang.UnsupportedOperationException: Not implemented by the DistributedFileSystem FileSystem implementation
.....
正如标题中所提到的,我在Windows上的IntelliJ 中运行代码
[编辑]在build.sbt中没有多余或重叠的依赖项。我使用hadoop工具、spark-sql和hadoop-xz。
您是否尝试过使用本地模式运行您的spark shell?
spark-shell --master=local
还要注意不要同时使用Hadoop代码和Hadoop commons作为依赖项,因为您可能会遇到冲突的jar问题。
我找到了解决方案,正是我的一位同事找到了。在dependencies build.sbt中,我将hadoop工具更改为hadoop-commons,结果成功了。