hadoop - HDFS中数据可用性的事件通知?

标签 hadoop mapreduce hdfs

为Hadoop实现通知系统以实现数据可用性的最佳方法是什么,以便每当有新数据出现时,都会创建一个通知,作业控制框架可以利用该通知来启动依赖于该数据的作业。这里主要关注的是,一旦数据可用,就应该触发作业,而不是在NameNode上轮询作业以获取数据?

最佳答案

我要做的是使用生产者/消费者模型,该模型可以使用队列(例如Amazon SQS)相互交互。

生产者将维护受监视目录的列表,并每x秒执行hadoop fs -test -e /path/to/watched/dir(其中x应该是参数),如果命令返回的$?为0,则可以将消息发送到队列。消息的内容可能只是刚刚出现的目录的名称,或者您可以添加一些元数据并将其作为JSON对象发送,例如带有其他字段。

另一方面,使用者将每隔y秒(其中y应该是一个参数)侦听队列,并且一旦有新数据,您就可以在此目录上开始工作。

关于hadoop - HDFS中数据可用性的事件通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14436748/

相关文章:

hadoop - Hive索引重建与PostgreSQL相比太慢

node.js - lodash _.map 比 Node.js map 快吗?

memory - 为TaskTracker子进程配置内存的不同方式(Mapper和Reduce Tasks)

python - 从Pycharm解析HDFS文件

maven - 为什么在 Hadoop 3.1.0 中删除了 DFSInotifyEventInputStream?

hadoop - 从 HIVE 中的 REST API 访问数据

java - hadoop 惰性分布式缓存

hadoop - 是否可以将数据作为流输入到MapReduce作业中

java - HDFSStore.getMeta()中的NullPointerException

hadoop - 为什么 Context.Write 没有按预期工作 - Hadoop Map reduce