2017-04-18 53 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