我正在实现一个基于发布-订阅模型的通知系统,以便在数据到达/加载到hdfs时通知数据的可用性。我找不到找这个的方法。是否有任何hdfs api可以用来实现这一点,或者我应该使用什么方法来获取写入hdfs的新数据的信息?我使用的是hadoopv2.0.2,我不想使用hcatalog,我想实现我自己的工具来实现这一点。
7y4bm7vi1#
如果您使用hdfs,您可能需要检查hbase,因为它具有您想要的功能。在hbase中,您可以创建一个预处理(或后处理)协处理器,其作用本质上与mysql触发器等效—每次将数据写入表时都运行一段代码。如果hbase不适合您的用例,并且您必须使用hdfs,那么就没有类似的触发器了。您可以尝试用自己的代码 Package hdfsapi,以便在适当的情况下每当数据写入文件系统时都执行通知。或者,您可以轮询hdfs以获取更改(这听起来像是一个丑陋的选择)。。。希望有帮助
nuypyhwy2#
你要找的是 Oozie Coordinator . HDFS 是一个文件系统,所以必须在hdfs之上构建一些东西来检查文件可用性。 HBase 有协处理器的触发程序。但它仅适用于hbase表。因此,它不能用于检测hdfs中的数据可用性。oozie是一个工作流调度系统,用于管理hadoop作业。oozie协调器作业是由时间(频率)和数据可用性触发的循环oozie工作流作业。您还可以从中执行其他程序:oozie与hadoop堆栈的其余部分集成,支持几种类型的hadoop现成作业(如java map reduce、streaming map reduce、pig、hive、sqoop和distcp)以及系统特定作业(如java程序和shell脚本)。因此,您也可以将文件可用性触发器用于通知系统。
Oozie Coordinator
HDFS
HBase
2条答案
按热度按时间7y4bm7vi1#
如果您使用hdfs,您可能需要检查hbase,因为它具有您想要的功能。在hbase中,您可以创建一个预处理(或后处理)协处理器,其作用本质上与mysql触发器等效—每次将数据写入表时都运行一段代码。
如果hbase不适合您的用例,并且您必须使用hdfs,那么就没有类似的触发器了。您可以尝试用自己的代码 Package hdfsapi,以便在适当的情况下每当数据写入文件系统时都执行通知。或者,您可以轮询hdfs以获取更改(这听起来像是一个丑陋的选择)。。。
希望有帮助
nuypyhwy2#
你要找的是
Oozie Coordinator
.HDFS
是一个文件系统,所以必须在hdfs之上构建一些东西来检查文件可用性。HBase
有协处理器的触发程序。但它仅适用于hbase表。因此,它不能用于检测hdfs中的数据可用性。oozie是一个工作流调度系统,用于管理hadoop作业。oozie协调器作业是由时间(频率)和数据可用性触发的循环oozie工作流作业。您还可以从中执行其他程序:
oozie与hadoop堆栈的其余部分集成,支持几种类型的hadoop现成作业(如java map reduce、streaming map reduce、pig、hive、sqoop和distcp)以及系统特定作业(如java程序和shell脚本)。
因此,您也可以将文件可用性触发器用于通知系统。