2017-04-18 50 views

回答

1

最好的方法是非常主观的术语。它很大程度上取决于数据到达特定位置后应该发生什么类型的数据,频率和发生什么样的事情。

Apache水槽可以监视特定文件夹的数据可用性,并将其压入像HDFS 这样的水槽,原样为。 Flume适合流式传输数据,但它只做一项特定工作 - 只是将数据从一个地方移动到另一个地方。

但另一方面,请查找Oozie协调员。协调员具有数据可用性触发器,使用oozie可以在数据到达后使用spark,hive,pig等工具执行各种ETL操作,并使用shell操作将其推送到hdfs。你可以安排工作在特定的时间运行,频率或工作给你发送电子邮件,如果出现问题...

+0

非常感谢@Pushkr!你能指导我在哪里可以找到Oozie协调员代码的源代码来触发文件到达并将文件复制到HDFS的特定位置? – Avi

+1

谷歌是你的朋友伴侣。但这里有一些样本 - https://github.com/yahoo/oozie/wiki/Oozie-Coord-Use-Cases – Pushkr

+0

亲爱的@Pushkr,Oozie协调员支持是否也支持NFS到达文件,而不仅仅是HDFS?请参考:https://community.cloudera.com/t5/Batch-Processing-and-Workflow/Getting-Oozie-Coordinator-datasets-working-with-S3-after-a-lost/td-p/27233 – Avi