问题标签 [flume-twitter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
530 浏览

hadoop - 如何通过 Java 代码更改 Apache Flume 的配置文件?

我目前正在从事一个大数据项目,用于对 Twitter 的热门话题进行情绪分析。我跟着 cloudera 的教程,了解了如何通过 flume 将推文发送到 Hadoop。

http://blog.cloudera.com/blog/2012/09/analyzing-twitter-data-with-hadoop/

水槽.conf:

现在要将其扩展到我的应用程序,我需要水槽配置文件中的关键字部分来获得热门主题,我想出了 Java 代码来获取热门主题,但现在我有一个问题,我不知道如何将此代码连接到水槽配置文件或如何在关键字部分添加实时趋势主题的新文件。我在网上搜索了很多,因为我是这个领域的初学者,如果你提供一些信息或至少有一些其他的选择,这将有很大的帮助。

0 投票
1 回答
136 浏览

twitter - Flume 推文的未知文件格式

我正在尝试使用 Flume 获取推文。我正在使用 cloudera

我使用这里提供的 twitter 源

下面是我的配置文件:

这是命令:

它似乎工作正常,已处理,我在文件系统中找到了几个文件,例如:FlumeData.1523723075629

但是,这些文件的格式是未知的,我认为它们应该是 JSON 格式。我试图通过记事本++打开其中一个,我发现了推文,但结构不清楚。此外,推文不是基于配置文件中指定的关键字。如何解决这些问题?如何获得正确的文件格式以及如何获得正确的推文?

提前致谢

0 投票
1 回答
673 浏览

hadoop - Flume 代理不包含任何有效通道

我是 Flume 的新手。我试图从 Twitter 中提取数据,但我没有成功。(我正在使用 Cloudera 快速入门)

我的 conf 文件如下所示:

我添加了所有这些取自 Twitter 帐户 consumerKey、consumerSecret、accessToken、accessTokenSecret、keywords 和 path 的值

我用来执行 conf 文件的命令是:

我得到的错误是:

请给我建议。

0 投票
1 回答
129 浏览

java - Flume 推特流

我正在尝试执行水槽以从 twitter 流中获取数据,但在执行水槽时收到此错误。

[错误 - org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:253)] 无法启动 EventDrivenSourceRunner:{ source:com.cloudera.flume.source.TwitterSource{name:Twitter,state:IDLE} } - 例外如下。java.lang.NoSuchMethodError: twitter4j.TwitterStream.addListener(Ltwitter4j/StreamListener;)V at com.cloudera.flume.source.TwitterSource.start(TwitterSource.java:140) at org.apache.flume.source.EventDrivenSourceRunner.start( EventDrivenSourceRunner.java:44) at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util .concurrent.FutureTask.runAndReset(FutureTask.java:304) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask。

我是水槽的初学者并在 Cloudera 快速入门中工作。在搜索解决方案时,据说要安装 maven,然后从那里构建 flume-snapshot jar 文件,但我不知道如何在 Cloudera 快速入门中安装 maven。有关如何纠正此错误的任何帮助,请让我在这里停留 1 周。

0 投票
1 回答
16 浏览

user-interface - 在 Cloudera 中创建表单

我在 Cloudera 生态系统中工作,作为初学者,我从实现 flume twitter 示例开始并成功完成了它。现在,每当我想从 Twitter 为不同的关键字流式传输数据时,我都必须进入 Twitter 的配置文件并对其进行编辑,然后使用终端执行水槽代理。

我在想一种方法让用户打开一个表单并在其中输入关键字并执行水槽代理以从 Twitter 获取数据,而不是每次都去 twitter 配置文件。为此,我想知道 Cloudera 生态系统中是否有任何工具可以实现我上面讨论的想法?

0 投票
1 回答
194 浏览

apache - 运行 Flume 代理获取 Twitter 数据

我一直在尝试在我的 Windows 系统上运行一个水槽代理来获取 Twitter 数据。我正在关注这个博客 https://acadgild.com/blog/streaming-twitter-data-using-flume

但是,每当我尝试运行水槽代理时,我都会收到以下错误 -

我试过自己调试它,但没有这样做。我试图寻找这个特定的错误,但在任何地方都找不到。

0 投票
1 回答
123 浏览

java - 如何使用 java 解析水槽事件(Twitter 源)

我正在尝试使用 Flume 获取 twitter 事件并将它们存储在我创建的树数据结构中,以便聚合这些事件。

我可以使用来自 Java 的 Flume 节点应用程序在我的本地机器上启动水槽代理。在我的配置文件中,作为一个例子,我指定了一个文件roll sink,并且数据成功写入了一个文件。

这是我用来启动代理的 Java 程序。

使用程序参数:

这是我的配置文件:

正如我所说,代理正确启动并且事件被写入本地文件。

但我想知道是否有办法从我的 Java 程序中解析事件。

创建的文件是二进制格式,我还想知道是否有办法将它们以 ascii 格式获取,以便我可以检查结果。

注意,我使用的是 IntelliJ IDEA。

0 投票
0 回答
172 浏览

hadoop - 执行错误,尝试在 Hive 中创建外部表时返回代码 1

我已经在线搜索并尝试了所有解决方案,但在尝试在 hive 中创建外部表时似乎遇到了同样的错误:

失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。org/apache/hadoop/hive/serde2/SerDe

我正在尝试创建一个外部表,用我使用 Flume 从 Twitter 提取的数据填充它。我提取的数据位于 hdfs 存储系统中:/user/hadoop/twitter_data.

我做了以下事情:

  1. hive-serdes-1.0-SNAPSHOT.jar从 Cloudera下载。

  2. 添加罐子/home/hadoop/Desktop/Flume_cheat/twitter/hive-serdes-1.0-SNAPSHOT.jar

  3. create external table Twitter_Flume3 (id BIGINT,created_at STRING,source STRING,favorited BOOLEAN,retweet_count INT,retweeted_status STRUCT<text:STRING,user1:STRUCT<screen_name:STRING,name:STRING>>,entities STRUCT<urls:ARRAY<STRUCT<expanded_url:STRING>>,user2_mentions:ARRAY<STRUCT<screen_name:STRING,name:STRING>>,hashtags:ARRAY<STRUCT<text:STRING>>>,text STRING,user3 STRUCT<screen_name:STRING,name:STRING,friends_count:INT,followers_count:INT,statuses_count:INT,verified:BOOLEAN,utc_offset:INT,time_zone:STRING>,in_reply_to_screen_name STRING) ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe' LOCATION '/user/training/flume_result';

  4. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org/apache/hadoop/hive/serde2/SerDe

版本

  • Hadoop 版本 3.2.1
  • 蜂巢版本 3.1.2
0 投票
2 回答
545 浏览

hadoop - 无法使用 Flume 检索 Twitter 流数据

我正在尝试使用 Flume 流式传输和检索 Twitter 数据,但由于某种错误而无法这样做。当我尝试使用命令执行它时:

我得到以下信息:

终端只是停留在这里,没有任何反应。我试着等了几分钟,但它保持不变。

我的配置文件 twitter.conf 位于 /home/hadoop/Flume/conf ,内容如下:

我的 flume-env.sh 文件如下:

0 投票
0 回答
17 浏览

hadoop - 当我想将数据从 Twittter 流式传输到 HDFS 时,即这种错误,如何解决?

运行命令时碰巧出现此错误: flume-ng agent -n TwitterAgent -f $FLUME_HOME/flume.conf

错误是: 22/01/01 14:02:27 错误 node.PollingPropertiesFileConfigurationProvider: 未处理的错误 java.lang.NoSuchMethodError: 'java.util.Map twitter4j.conf.Configuration.getRequestHeaders()' at twitter4j.StreamingReadTimeoutConfiguration.getRequestHeaders(TwitterStreamImpl.java: 664) 在 twitter4j.internal.http.HttpClientWrapper.(HttpClientWrapper.java:47) 在 twitter4j.TwitterStreamImpl.(TwitterStreamImpl.java:54) 在 twitter4j.TwitterStreamFactory.(TwitterStreamFactory.java:40) 在 org.apache.flume.source .twitter.TwitterSource.configure(TwitterSource.java:110) 在 org.apache.flume.conf.Configurables.configure(Configurables.java:41) 在 org.apache.flume.node.AbstractConfigurationProvider.loadSources(AbstractConfigurationProvider.java:325 ) 在 org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:105) 在 org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:145) 在 java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 在 java.base /java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) 在 java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) 在 java.base/java.util.concurrent .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 java.base/java.lang.Thread.run(Thread.java :829)Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run( ScheduledThreadPoolExecutor.java:305) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)在 java.base/java.lang.Thread.run(Thread.java:829)Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run( ScheduledThreadPoolExecutor.java:305) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)在 java.base/java.lang.Thread.run(Thread.java:829)ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 java.base/java.lang.Thread.run(Thread.java:829)ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 java.base/java.lang.Thread.run(Thread.java:829)

这是我的 Flume.conf:

我该如何解决我使用 Hadoop 2.9.0 和 Flume 1.9.x 以后的错误。我还包含了 twitter4j-4.7.0 流、核心和异步文件,但发现它不起作用。我还在 flume/lib 文件夹中包含了 flume-sources-1.0-SNAPSHOT.jar

而flume-env.sh是这样的: