2017-09-26 56 views
0

這裏有一位Hadoop新手,使用本教程:https://acadgild.com/blog/streaming-twitter-data-using-flume/來捕獲推文。這裏是我的flume.conf文件:Flume不接受Twitter流的關鍵字

TwitterAgent.sources = Twitter 
TwitterAgent.channels = MemChannel 
TwitterAgent.sinks = HDFS 
TwitterAgent.sources.Twitter.type = org.apache.flume.source.twitter.TwitterSource 
TwitterAgent.sources.Twitter.consumerKey=xxxx 
TwitterAgent.sources.Twitter.consumerSecret=xxxx 
TwitterAgent.sources.Twitter.accessToken=xxxx 
TwitterAgent.sources.Twitter.accessTokenSecret=xxxx 

TwitterAgent.sources.Twitter.keywords= #canpoli 

TwitterAgent.sinks.HDFS.channel=MemChannel 
TwitterAgent.channels.MemChannel.capacity=10000 
TwitterAgent.sinks.HDFS.type=hdfs 
TwitterAgent.sinks.HDFS.hdfs.path=hdfs:/xxxx/user/flume/tweets 
TwitterAgent.sinks.HDFS.hdfs.fileType=DataStream 
TwitterAgent.sinks.HDFS.hdfs.writeformat=Text 
TwitterAgent.sinks.HDFS.hdfs.batchSize=1000 
TwitterAgent.sinks.HDFS.hdfs.rollSize=0 
TwitterAgent.sinks.HDFS.hdfs.rollCount=10000 
TwitterAgent.sinks.HDFS.hdfs.rollInterval=600 

TwitterAgent.channels.MemChannel.type=memory 
TwitterAgent.channels.MemChannel.capacity=10000 
TwitterAgent.channels.MemChannel.transactionCapacity=1000 

TwitterAgent.sources.Twitter.channels = MemChannel 
TwitterAgent.sinks.HDFS.channel = MemChannel` 

它流鳴叫精細,它保存到我想要的目錄正確,但似乎沒有對我的關鍵字過濾是流式傳輸的一切。除了該標籤外,我還會收到來自世界各地的推文。

可能是什麼問題?

回答

1

首先,它接受所有主題標籤,因爲你給了一個空的列表。

#字符是一個註釋,所以等於等於後的所有內容都被忽略。至少我認爲這是如何解析。

您鏈接到的網站不使用#,所以我會按照該教程進行操作。

其次,該來源被認爲是實驗性的,似乎沒有提到關鍵字。

https://flume.apache.org/FlumeUserGuide.html#twitter-1-firehose-source-experimental

你的代碼看起來幾乎完全一樣,從Cloudera的這個例子,包括在配置的意見和具有關鍵字,而如果你檢查一下,有一個不同的源類。

TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource 

https://github.com/cloudera/cdh-twitter-example/blob/master/flume-sources/flume.conf

你需要將它打包下載java代碼那裏,一個JAR,並將其放置在水槽lib目錄

+0

我刪除主題標籤,我也得到了相同的結果。所有正在攝入的推文都不包含任何關鍵字。 – JLA

+0

如果您運行提供的示例,該怎麼辦? –

+0

發生完全相同的事情。 – JLA

相關問題