使用推特流的大数据项目需求
Big Data project requirements using twitter streams
我目前正在尝试进入数据工程领域,我认为最好的方法是对 Hadoop 堆栈有一个基本的了解(通过教程使用 Cloudera quickstart VM/went)然后尝试建立我自己的项目。我想构建一个数据管道来摄取推特数据,将其存储在 HDFS 或 HBASE 中,然后 运行 对存储的数据进行某种分析。我也更喜欢使用实时流数据,而不是 historical/batch 数据。我的数据流如下所示:
Twitter Stream API --> Flume --> HDFS --> Spark/MapReduce --> Some DB
这看起来是引入我的数据并进行分析的好方法吗?
另外,你们如何推荐我 host/store 这一切?
在 AWS ec2 上为 hadoop 开一个实例会更好吗? 运行 on?或者我应该 运行 全部放在桌面上的本地虚拟机中吗?
我打算只启动一个节点集群。
首先,Spark Streaming 可以从 Twitter 读取,而在 CDH 中,我相信这是首选的流式处理框架。
你的管道是合理的,尽管我可能建议使用 Apache NiFi(在 Hortonworks HDF 发行版中)或 Streamsets,据我所知,它可以很容易地安装在 CDH 中。
请注意,这些 运行 完全独立于 Hadoop。提示:Docker 与它们配合得很好。 HDFS 和 YARN 实际上是我唯一依赖于预配置 VM 的复杂组件。
Nifi 和 Streamsets 都为您提供了 UI 将 Twitter 挂接到 HDFS 和 "other DB" 的机会。
Flume 可以工作,一个管道很容易,但它还没有在其他流媒体平台的水平上成熟。就个人而言,我更喜欢 Logstash -> Kafka -> Spark Streaming 管道,例如因为 Logstash 配置文件更易于使用(内置 Twitter 插件)。并且 Kafka 使用了很多工具。
您还可以通过 Kafka Connect 试用 Kafka,或者在整个管道中使用 Apache Flink。
主要收获,你可以在这里绕过 Hadoop,或者至少有这样的东西
Twitter > Streaming Framework > HDFS
.. > Other DB
... > Spark
关于 运行 本地与否,只要您愿意为云提供商的闲置时间付费,那就继续吧。
我目前正在尝试进入数据工程领域,我认为最好的方法是对 Hadoop 堆栈有一个基本的了解(通过教程使用 Cloudera quickstart VM/went)然后尝试建立我自己的项目。我想构建一个数据管道来摄取推特数据,将其存储在 HDFS 或 HBASE 中,然后 运行 对存储的数据进行某种分析。我也更喜欢使用实时流数据,而不是 historical/batch 数据。我的数据流如下所示:
Twitter Stream API --> Flume --> HDFS --> Spark/MapReduce --> Some DB
这看起来是引入我的数据并进行分析的好方法吗?
另外,你们如何推荐我 host/store 这一切?
在 AWS ec2 上为 hadoop 开一个实例会更好吗? 运行 on?或者我应该 运行 全部放在桌面上的本地虚拟机中吗?
我打算只启动一个节点集群。
首先,Spark Streaming 可以从 Twitter 读取,而在 CDH 中,我相信这是首选的流式处理框架。
你的管道是合理的,尽管我可能建议使用 Apache NiFi(在 Hortonworks HDF 发行版中)或 Streamsets,据我所知,它可以很容易地安装在 CDH 中。
请注意,这些 运行 完全独立于 Hadoop。提示:Docker 与它们配合得很好。 HDFS 和 YARN 实际上是我唯一依赖于预配置 VM 的复杂组件。
Nifi 和 Streamsets 都为您提供了 UI 将 Twitter 挂接到 HDFS 和 "other DB" 的机会。
Flume 可以工作,一个管道很容易,但它还没有在其他流媒体平台的水平上成熟。就个人而言,我更喜欢 Logstash -> Kafka -> Spark Streaming 管道,例如因为 Logstash 配置文件更易于使用(内置 Twitter 插件)。并且 Kafka 使用了很多工具。
您还可以通过 Kafka Connect 试用 Kafka,或者在整个管道中使用 Apache Flink。
主要收获,你可以在这里绕过 Hadoop,或者至少有这样的东西
Twitter > Streaming Framework > HDFS
.. > Other DB
... > Spark
关于 运行 本地与否,只要您愿意为云提供商的闲置时间付费,那就继续吧。