flume twitter流api

7gcisfzg  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(501)

我是新来的flume,我用flume从twitter流数据使用搜索api。但是twitterjson将“geo”键设置为null。那么,有没有一种方法可以在flume中使用流式api来获取twitter数据呢。?

jyztefdp

jyztefdp1#

请参考此链接。前段时间我也试着这么做的时候帮了我很多。基本上,您必须执行以下操作:
在中创建应用程序https://dev.twitter.com/apps/ 以生成oauth密钥。这一步可能已经完成了,因为你说你已经在过去查询过twitter了。
从这里下载专门为twitter设计的cloudera源代码,并通过编辑将这样的jar放入flume类路径中 conf/flume-env.sh 加上这一行:

  1. FLUME_CLASSPATH="/home/training/Installations/apache-flume-1.3.1-bin/flume-sources-1.0-SNAPSHOT.jar"

编辑名为“twitteragent”的新twitter代理的flume配置文件,类似于:

  1. TwitterAgent.sources = Twitter
  2. TwitterAgent.channels = MemChannel
  3. TwitterAgent.sinks = HDFS
  4. TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource
  5. TwitterAgent.sources.Twitter.channels = MemChannel
  6. TwitterAgent.sources.Twitter.consumerKey = <consumerKey>
  7. TwitterAgent.sources.Twitter.consumerSecret = <consumerSecret>
  8. TwitterAgent.sources.Twitter.accessToken = <accessToken>
  9. TwitterAgent.sources.Twitter.accessTokenSecret = <accessTokenSecret>
  10. TwitterAgent.sources.Twitter.keywords = <comma-separated list of keywords you are interested in>
  11. TwitterAgent.sinks.HDFS.channel = MemChannel
  12. TwitterAgent.sinks.HDFS.type = hdfs
  13. TwitterAgent.sinks.HDFS.hdfs.path = hdfs://localhost:9000/user/flume/tweets/
  14. TwitterAgent.sinks.HDFS.hdfs.fileType = DataStream
  15. TwitterAgent.sinks.HDFS.hdfs.writeFormat = Text
  16. TwitterAgent.sinks.HDFS.hdfs.batchSize = 1000
  17. TwitterAgent.sinks.HDFS.hdfs.rollSize = 0
  18. TwitterAgent.sinks.HDFS.hdfs.rollCount = 10000
  19. TwitterAgent.channels.MemChannel.type = memory
  20. TwitterAgent.channels.MemChannel.capacity = 10000
  21. TwitterAgent.channels.MemChannel.transactionCapacity = 100

然后,您可以通过发出以下命令来启动twitter flume代理:

  1. $ bin/flume-ng agent --conf ./conf/ -f conf/flume.conf -Dflume.root.logger=DEBUG,console -n TwitterAgent
展开查看全部

相关问题