Eya*_*yad 2 java apache-spark spark-streaming
我只想将流的内容打印到控制台。我编写了以下代码,但它没有打印任何内容。任何人都可以帮助我在 Spark 中以流的形式读取文本文件?是否有与 Windows 系统相关的问题?
public static void main(String[] args) throws Exception {
SparkConf sparkConf = new SparkConf().setAppName("My app")
.setMaster("local[2]")
.setSparkHome("C:\\Spark\\spark-1.5.1-bin-hadoop2.6")
.set("spark.executor.memory", "2g");
JavaStreamingContext jssc = new JavaStreamingContext(sparkConf, Durations.seconds(2));
JavaDStream<String> dataStream = jssc.textFileStream("C://testStream//copy.csv");
dataStream.print();
jssc.start();
jssc.awaitTermination();
}
Run Code Online (Sandbox Code Playgroud)
更新:copy.csv 的内容是
0,0,12,5,0
0,0,12,5,0
0,1,2,0,42
0,0,0,0,264
0,0,12,5,0
Run Code Online (Sandbox Code Playgroud)
textFileStream用于监控 hadoop 兼容目录。此操作将监视提供的目录,当您在提供的目录中添加新文件时,它将从新添加的文件中读取/流式传输数据。
您无法使用文本/ csv 文件读取,textFileStream或者更确切地说,我会说您不需要流式传输,以防您只是在读取文件。
我的建议是监视某个目录(可能是 HDFS 或本地文件系统),然后添加文件并使用textFileStream.
可能在您的代码中,您可以替换"C://testStream//copy.csv"为C://testStream",一旦您的 Spark Streaming 作业启动并运行,然后将文件添加copy.csv到C://testStream文件夹并在 Spark 控制台上查看输出。
或者
也许您可以编写另一个命令行 Scala/Java 程序,该程序读取文件并将内容通过 Socket(在某个 PORT# 处)抛出,然后您可以利用它socketTextStream来捕获和读取数据。读取数据后,您可以进一步应用其他转换或输出操作。
你也可以认为杠杆的水槽太
有关更多详细信息,请参阅API 文档
| 归档时间: |
|
| 查看次数: |
1780 次 |
| 最近记录: |