使用Twitter流的大数据项目要求

时间:2017-12-01 18:22:17

标签: twitter streaming cloudera

我目前正在尝试进入数据工程,我认为最好的方法是获得对Hadoop堆栈的基本了解(使用Cloudera快速入门VM /参加教程),然后尝试构建自己的项目。我想构建一个数据管道,用于提取twitter数据,将其存储在HDFS或HBASE中,然后对存储的数据运行某种分析。我也希望我使用实时流数据,而不是历史/批量数据。我的数据流看起来像这样:

Twitter Stream API --> Flume --> HDFS --> Spark/MapReduce --> Some DB

这看起来像是引入我的数据并进行分析的好方法吗? 另外,你们怎么建议我主持/存储所有这些?
在AWS ec2上有一个实例可以让hadoop运行吗?或者我应该在桌面上的本地虚拟机中运行它?

我计划只启动一个节点集群。

1 个答案:

答案 0 :(得分:1)

首先,Spark Streaming可以从Twitter读取,而在CDH中,我相信这是首选的流媒体框架。

你的管道是合理的,虽然我可能建议使用Apache NiFi(在Hortonworks HDF发行版中),或者根据我的理解,可以轻松安装在CDH中的Streamsets。

请注意,这些操作完全独立于Hadoop。提示:Docker与它们配合得很好。 HDFS和YARN实际上是我依赖预先配置的VM的唯一复杂组件。

Nifi和Streamsets都为您提供了一个用于将Twitter连接到HDFS和其他数据库的下拉UI。

Flume可以工作,一个管道很容易,但它在其他流媒体平台的水平上还没有成熟。就个人而言,我喜欢Logstash - >卡夫卡 - > Spark Streaming管道更好,例如因为Logstash配置文件更好用(Twitter插件内置)。卡夫卡使用了大量工具。

您也可以尝试使用Kafka Connect进行Kafka,或者使用Apache Flink进行整个管道。

主要内容,你可以在这里绕过Hadoop,或至少有这样的东西

created_at

关于在本地运行与否,只要您在云提供商处支付空闲时间就可以了,请继续。

相关问题