自動化HDFS資料複製機制的簡單方法!
到目前為止,我們已經看到了從HDFS複製資料的不同選擇。大多數機制沒有自動化或排程功能,不過是用於訪問資料的低階方法。如果希望自動化資料副本,可以將其中一種低階技術包含在排程引擎(如cron或Quartz)中。但是,如果正在尋找開箱即用的自動化工具,本節很適合你閱讀。
在本章的前半部分,我們研究了兩種可以將半結構化和二進位制資料轉換為HDFS的機制:開源HDFS File Slurper專案和Oozie,它們觸發了資料入口工作流程。使用本地檔案系統進行輸入(以及輸出)的挑戰是,在叢集上執行的map和reduce任務將無法訪問特定伺服器上的檔案系統,將資料從HDFS移動到檔案系統有三個廣泛的選擇:
-
在伺服器(例如Web伺服器)上託管agent,然後使用MapReduce將其寫入。
-
在MapReduce中寫入本地檔案系統,然後在後處理步驟中觸發遠端伺服器上的指令碼以移動該資料。
-
在遠端伺服器上執行程式以直接從HDFS提取資料。
第三種選擇是首選方法,因為最簡單且最有效,因此這是本節的重點。我們將瞭解如何使用HDFS File Slurper自動將檔案從HDFS移出到本地檔案系統。
從HDFS匯出檔案的自動機制
假設有MapReduce用HDFS編寫的檔案,你想要將它們自動提取到本地檔案系統。任何Hadoop工具都不支援此類功能,因此必須檢視其他方法。
問題
自動將檔案從HDFS移動到本地檔案系統。
解決方案
HDFS檔案Slurper可用於將檔案從HDFS複製到本地檔案系統。
討論
這裡的目標是使用HDFS File Slurper專案( hdfs-file-slurper)來協助自動化。我們在前文詳細介紹了HDFS File Slurper,請在繼續使用此技術之前閱讀該部分。
HDFS Slurper支援將資料從HDFS移動到本地目錄,我們需要做的就是翻轉源目錄和目標目錄,如Slurper配置檔案以下所示:
你會注意到,HDFS中不僅有源目錄,而且還有工作,完成和錯誤目錄。這是因為需要能夠在目錄之間自動移動檔案,而不會產生跨檔案系統複製的昂貴開銷。
總結
此時,你可能想知道如何觸發Slurper來複制剛剛使用MapReduce作業編寫的目錄。當MapReduce作業成功完成時,它會在作業輸出目錄中建立一個名為_SUCCESS的檔案。這似乎是啟動輸出程式將該內容複製到本地檔案系統的完美觸發器。事實證明,Oozie有一種機制可以在檢測到這些Hadoop檔案“成功”時觸發工作流程,但這裡的挑戰是Oozie執行的任何工作都是在MapReduce中執行的,所以它不能用於執行直接轉移。可以編寫自己的指令碼,輪詢HDFS以查詢已完成的目錄,然後觸發檔案複製過程。如果原始檔需要保持不變,那麼檔案複製過程可以是Slurper或簡單的hadoop fs -get命令。
在本章的下一篇文章中,我們將介紹如何將Hadoop中的資料寫入關聯式資料庫。
相關文章:
1、《第一章:Hadoop生態系統及執行MapReduce任務介紹!》連結: http://blog.itpub.net/31077337/viewspace-2213549/
2、《學習Hadoop生態第一步:Yarn基本原理和資源排程解析!》連結: http://blog.itpub.net/31077337/viewspace-2213602/
3、《MapReduce如何作為Yarn應用程式執行?》連結: http://blog.itpub.net/31077337/viewspace-2213676/
4、《Hadoop生態系統各元件與Yarn的相容性如何?》連結: http://blog.itpub.net/31077337/viewspace-2213960/
5、《MapReduce資料序列化讀寫概念淺析!》連結: http://blog.itpub.net/31077337/viewspace-2214151/
6、《MapReuce中對大資料處理最合適的資料格式是什麼?》連結: http://blog.itpub.net/31077337/viewspace-2214325/
7、《如何在MapReduce中使用SequenceFile資料格式?》連結: http://blog.itpub.net/31077337/viewspace-2214505/
8、《如何在MapReduce中使用Avro資料格式?》連結: http://blog.itpub.net/31077337/viewspace-2214709/
9、《企業自有資料格式雜亂,MapReduce如何搞定?》連結: http://blog.itpub.net/31077337/viewspace-2214826/
10、《企業使用Hadoop的重大挑戰:如何在HDFS中組織和使用資料?》連結: http://blog.itpub.net/31545816/viewspace-2215158/ 》
11、《如何在HDFS中進行資料壓縮以實現高效儲存?》連結: http://blog.itpub.net/31545816/viewspace-2215281/
12、《Hadoop資料傳輸:如何將資料移入和移出Hadoop?》連結: http://blog.itpub.net/31545816/viewspace-2215580/
13、《如何將日誌和二進位制檔案連續移入HDFS?》連結: http://blog.itpub.net/31545816/viewspace-2215948/
14、《如何將傳統關聯式資料庫的資料匯入Hadoop?》連結: http://blog.itpub.net/31545816/viewspace-2216000/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545816/viewspace-2216448/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用最簡單的方法複製或遷移Oracle資料庫Oracle資料庫
- 簡單的單資料來源複製例項——流
- MongoDB 複製機制MongoDB
- mongoDB研究筆記:複製集資料同步機制MongoDB筆記
- HDFS 02 - HDFS 的機制:副本機制、機架感知機制、負載均衡機制負載
- 使用 Playwright 複用 Cookie:簡化自動化測試的高效方法Cookie
- Apache Kakfa複製機制Apache
- web自動化簡單使用程式碼,獲取集合資料Web
- Redis系列(四):Redis的複製機制(主從複製)Redis
- JAVA簡單的複習資料Java
- HDFS 09 - HDFS NameNode 的高可用機制
- 最簡單的螢幕複製程式(象素複製) (轉)
- 手動複製資料庫資料庫
- 複製excel中設定了公式的單元格資料的方法Excel公式
- Web自動化—簡單瞭解Web
- 如何簡化機器人自動化的整合機器人
- RMAN 同機複製資料庫資料庫
- RMAN 異機複製資料庫資料庫
- HDFS原始碼分析(二)-----後設資料備份機制原始碼
- 簡單配置mysql的主從複製MySql
- java自動化——web自動化複習JavaWeb
- 資料複雜性和簡單
- Python自動複製Excel資料:將各行分別重複指定次數PythonExcel
- mysql資料庫資料同步/主從複製的配置方法MySql資料庫
- 240815-PostgreSQL自帶邏輯複製簡單使用SQL
- 一次通過stream複製解決資料單向複製的案例
- oracle表機構和資料複製Oracle
- HDFS 重要機制之 checkpoint
- postgresql 9.4 流複製簡單配置SQL
- 簡單搭建MySQL主從複製MySql
- HDFS成員的工作機制
- 從A機複製ORACLE資料庫到B機Oracle資料庫
- GoldenGate簡單複製環境的搭建Go
- mongoDB的主從複製簡單測試MongoDB
- Redis的資料複製Redis
- 深入分析Redis的主從複製機制Redis
- Rman duplicate資料庫複製(單系統)資料庫
- 批次複製資料夾而不復制內容