Spark无法正确读取文件

时间:2018-02-14 07:55:53

标签: apache-spark hdfs flume

我运行Flume将Twitter数据摄取到HDFS(采用JSON格式)并运行Spark来读取该文件。

但不知何故,它没有返回正确的结果:似乎文件的内容没有更新。

这是我的Flume配置:

imageView.setImageBitmap(bitmap);

之后,我使用TwitterAgent01.sources = Twitter TwitterAgent01.channels = MemoryChannel01 TwitterAgent01.sinks = HDFS TwitterAgent01.sources.Twitter.type = com.cloudera.flume.source.TwitterSource TwitterAgent01.sources.Twitter.channels = MemoryChannel01 TwitterAgent01.sources.Twitter.consumerKey = xxx TwitterAgent01.sources.Twitter.consumerSecret = xxx TwitterAgent01.sources.Twitter.accessToken = xxx TwitterAgent01.sources.Twitter.accessTokenSecret = xxx TwitterAgent01.sources.Twitter.keywords = some_keywords TwitterAgent01.sinks.HDFS.channel = MemoryChannel01 TwitterAgent01.sinks.HDFS.type = hdfs TwitterAgent01.sinks.HDFS.hdfs.path = hdfs://hadoop01:8020/warehouse/raw/twitter/provider/m=%Y%m/ TwitterAgent01.sinks.HDFS.hdfs.fileType = DataStream TwitterAgent01.sinks.HDFS.hdfs.writeFormat = Text TwitterAgent01.sinks.HDFS.hdfs.batchSize = 1000 TwitterAgent01.sinks.HDFS.hdfs.rollSize = 0 TwitterAgent01.sinks.HDFS.hdfs.rollCount = 0 TwitterAgent01.sinks.HDFS.hdfs.rollInterval = 86400 TwitterAgent01.channels.MemoryChannel01.type = memory TwitterAgent01.channels.MemoryChannel01.capacity = 10000 TwitterAgent01.channels.MemoryChannel01.transactionCapacity = 10000 检查输出,并返回超过1000行,这意味着数据已成功插入。

但在Spark中并非如此

hdfs dfs -cat

只有6行。

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我不完全确定你为什么将路径的后半部分指定为filter的条件表达式。

我相信你可以正确阅读你的文件:

spark.read.json("/warehouse/raw/twitter/provider/m=201802").show()
相关问题