gpt4 book ai didi

hadoop - 流数据和 Hadoop? (不是 Hadoop 流)

转载 作者:可可西里 更新时间:2023-11-01 14:10:48 28 4
gpt4 key购买 nike

我想使用 MapReduce 方法分析连续的数据流(通过 HTTP 访问),因此我一直在研究 Apache Hadoop。不幸的是,Hadoop 似乎期望以固定大小的输入文件开始作业,而不是能够在新数据到达时将其传递给消费者。真的是这样吗,还是我遗漏了什么?是否有不同的 MapReduce 工具可以处理从打开的套接字中读取的数据?可扩展性是这里的一个问题,所以我更愿意让 MapReducer 处理困惑的并行化问题。

我玩过 Cascading并且能够在通过 HTTP 访问的静态文件上运行作业,但这实际上并不能解决我的问题。我可以使用 curl 作为中间步骤,将数据转储到 Hadoop 文件系统的某个位置,并编写一个看门狗在每次准备好新数据 block 时触发一个新作业,但这是一个肮脏的 hack;必须有一些更优雅的方法来做到这一点。有任何想法吗?

最佳答案

您描述的 hack 或多或少是做事的标准方式 -- Hadoop 从根本上说是一个面向批处理的系统(一方面,如果数据没有尽头,Reducers 就永远无法启动,因为它们必须在 map 阶段完成后开始)。

轮换日志;当你轮换它们时,将它们转储到 HDFS 中。让看门狗进程(可能是分布式进程,使用 ZooKeeper 进行协调)监视垃圾场并启动新的处理作业。您需要确保作业在足够大的输入上运行以保证开销。

Hbase 是 hadoop 生态系统中的 BigTable 克隆,您可能会感兴趣,因为它允许连续的插入流;但是,您仍然需要以批处理模式运行分析查询。

关于hadoop - 流数据和 Hadoop? (不是 Hadoop 流),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1217850/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com