摘要:,類似于其他工具,使用元數(shù)據(jù)模型來判斷數(shù)據(jù)類型并在數(shù)據(jù)從數(shù)據(jù)源轉(zhuǎn)移到時確保類型安全的數(shù)據(jù)處理。默認情況下的并行意味著假設(shè)大數(shù)據(jù)是在分區(qū)鍵范圍內(nèi)均勻分布的。直接驅(qū)動需要特權(quán)來讀取類似和這樣的元數(shù)據(jù)。
Hadoop正成為企業(yè)用于大數(shù)據(jù)分析的最熱門選擇,但想將你的數(shù)據(jù)移植過去并不容易。Apache Sqoop正在加緊幫助客戶將重要數(shù)據(jù)從數(shù)據(jù)庫移到Hadoop。
正當(dāng)大數(shù)據(jù)變得越來越重要,而越來越多應(yīng)用都在云上部署時,云管理員也面臨了不斷增長的將數(shù)據(jù)從源系統(tǒng)轉(zhuǎn)移到分析系統(tǒng)——其中最熱門的就是Hadoop——的需求。ETL工具的自定義腳本在過去輔助了這種數(shù)據(jù)遷移,現(xiàn)在Apache Sqoop正崛起成為更好的選擇。
隨著Hadoop和關(guān)系型數(shù)據(jù)庫之間的數(shù)據(jù)移動漸漸變成一個標(biāo)準的流程,云管理員們能夠利用Sqoop的并行批量數(shù)據(jù)加載能力來簡化這一流程,降低編寫自定義數(shù)據(jù)加載腳本的需求。
Apache Sqoop是一個將數(shù)據(jù)在關(guān)系數(shù)據(jù)庫及Hadoop之間轉(zhuǎn)移的命令行工具。對于某些NoSQL數(shù)據(jù)庫它也提供了連接器。Sqoop,類似于其他ETL工具,使用元數(shù)據(jù)模型來判斷數(shù)據(jù)類型并在數(shù)據(jù)從數(shù)據(jù)源轉(zhuǎn)移到Hadoop時確保類型安全的數(shù)據(jù)處理。Sqoop專為大數(shù)據(jù)批量傳輸設(shè)計,能夠分割數(shù)據(jù)集并創(chuàng)建Hadoop任務(wù)來處理每個區(qū)塊。
Sqoop有一個非常小的命令集,里面包括導(dǎo)入和導(dǎo)出,列出數(shù)據(jù)庫和表信息,生成Java類來操縱數(shù)據(jù),解析SQL命令以及其他一些更專門的命令。生成Java類的命令對于在Hadoop里編寫Java應(yīng)用來進行數(shù)據(jù)操作特別有用。SQL解析命令可以顯示執(zhí)行SQL語句的結(jié)果,這在搜索新數(shù)據(jù)庫或產(chǎn)生復(fù)雜邏輯的查詢時非常有用。
使用Sqoop比自定義腳本有一定的優(yōu)勢。其一就是,Sqoop被設(shè)計成具備容錯性。你也可以自定義腳本來監(jiān)控你的工作狀態(tài),然后從故障中恢復(fù),但是那有可能難以置信的耗時。
使用Sqoop需要注意的地方
盡管有以上的優(yōu)點,在使用Sqoop的時候還有一些事情需要注意。首先,對于默認的并行機制要小心。默認情況下的并行意味著Sqoop假設(shè)大數(shù)據(jù)是在分區(qū)鍵范圍內(nèi)均勻分布的。這在當(dāng)你的源系統(tǒng)是使用一個序列號發(fā)生器來生成主鍵的時候工作得很好。打個比方,當(dāng)你有一個10個節(jié)點的集群,那么工作負載是在這10臺服務(wù)器上平均分配的。但是,如果你的分割鍵是基于字母數(shù)字的,擁有比如以“A”作為開頭的鍵值的數(shù)量會是“M”作為開頭鍵值數(shù)量的20倍,那么工作負載就會變成從一臺服務(wù)器傾斜到另一臺服務(wù)器上。
如果你最擔(dān)心是性能,那么可以研究下直接加載。直接加載繞過通常的Java數(shù)據(jù)庫連接導(dǎo)入,使用數(shù)據(jù)庫本身提供的直接載入工具,比如MySQL的mysqldump。但是有特定數(shù)據(jù)庫的限制。比如,你不能使用MySQL或者PostgreSQL的連接器來導(dǎo)入BLOB和CLOB類型。也沒有驅(qū)動支持從視圖的導(dǎo)入。Oracle直接驅(qū)動需要特權(quán)來讀取類似dba_objects和v_$parameter這樣的元數(shù)據(jù)。請查閱你的數(shù)據(jù)庫直連驅(qū)動程序局限性的相關(guān)文檔。
進行增量導(dǎo)入是與效率有關(guān)的更受關(guān)注的問題,因為Sqoop專門是為大數(shù)據(jù)集設(shè)計的。Sqoop支持增量更新,將新記錄添加到最近一次的導(dǎo)出的數(shù)據(jù)源上,或者指定上次修改的時間戳。
由于Sqoop將數(shù)據(jù)移入和移出關(guān)系型數(shù)據(jù)庫的能力,其對于Hive—Hadoop生態(tài)系統(tǒng)里的著名的類SQL數(shù)據(jù)倉庫—有專門的支持不足為奇。命令“create-hive-table”可以用來將數(shù)據(jù)表定義導(dǎo)入到Hive。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/4122.html
本期與大家分享的是,小北精心整理的大數(shù)據(jù)學(xué)習(xí)筆記,數(shù)據(jù)采集工具Sqoop 的詳細介紹,希望對大家能有幫助,喜歡就給點鼓勵吧,記得三連哦!歡迎各位大佬評論區(qū)指教討論! ???制作不易,各位大佬們給點鼓勵! ???點贊? ? 收藏? ? 關(guān)注? ???歡迎各位大佬指教,一鍵三連走起! 一、理論學(xué)習(xí)篇 1、Sqoop簡介 ????????在阿帕奇閣樓(The Apache Attic)中,...
摘要:大數(shù)據(jù)框架服務(wù)角色介紹翻了一下最近一段時間寫的分享,發(fā)行版本下載安裝運行環(huán)境部署等相關(guān)內(nèi)容幾乎都已經(jīng)寫了一遍了。這些數(shù)據(jù)通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。 大數(shù)據(jù)框架hadoop服務(wù)角色介紹翻了一下最近一段時間寫的分享,DKHadoop發(fā)行版本下載、安裝、運行環(huán)境部署等相關(guān)內(nèi)容幾乎都已經(jīng)寫了一遍了。雖然有的地方可能寫的不是很詳細,個人理解水平有限還請見諒吧!我記得在...
摘要:如果我們可以克服一些數(shù)據(jù)遷移的挑戰(zhàn),將一個數(shù)據(jù)倉庫以及其數(shù)據(jù)分析工具從數(shù)據(jù)中心中的專用服務(wù)器轉(zhuǎn)移到基于云的文件系統(tǒng)和數(shù)據(jù)庫就可以解決這個問題。數(shù)據(jù)遷移工具輔助向云端遷移從數(shù)據(jù)庫抽取數(shù)據(jù)很容易,從數(shù)據(jù)庫中有效挖掘大容量數(shù)據(jù)確是一項挑戰(zhàn)。 云計算和數(shù)據(jù)倉庫是合理的一對。云存儲可以按需擴展,云可以將大量服務(wù)器貢獻于某一具體任務(wù)。數(shù)據(jù)倉庫通用功能是本地數(shù)據(jù)分析工具,受到計算和存儲 資源的限制,同時也...
摘要:如果我們可以克服一些數(shù)據(jù)遷移的挑戰(zhàn),將一個數(shù)據(jù)倉庫以及其數(shù)據(jù)分析工具從數(shù)據(jù)中心中的專用服務(wù)器轉(zhuǎn)移到基于云的文件系統(tǒng)和數(shù)據(jù)庫就可以解決這個問題。數(shù)據(jù)遷移工具輔助向云端遷移從數(shù)據(jù)庫抽取數(shù)據(jù)很容易,從數(shù)據(jù)庫中有效挖掘大容量數(shù)據(jù)確是一項挑戰(zhàn)。 云計算和數(shù)據(jù)倉庫是合理的一對。云存儲可以按需擴展,云可以將大量服務(wù)器貢獻于某一具體任務(wù)。數(shù)據(jù)倉庫通用功能是本地數(shù)據(jù)分析工具,受到計算和存儲資源的限制,同時也受...
閱讀 905·2021-11-15 11:37
閱讀 3672·2021-11-11 16:55
閱讀 3305·2021-11-11 11:01
閱讀 1026·2019-08-30 15:43
閱讀 2771·2019-08-30 14:12
閱讀 714·2019-08-30 12:58
閱讀 3419·2019-08-29 15:19
閱讀 2059·2019-08-29 13:59