溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關系型數(shù)據(jù)庫導入導出絕招出爐

發(fā)布時間:2020-06-09 02:23:55 來源:網(wǎng)絡 閱讀:717 作者:caosheng03 欄目:數(shù)據(jù)庫

Sqoop作為數(shù)據(jù)傳輸?shù)墓ぞ?,對?/span>Hadoop與傳統(tǒng)數(shù)據(jù)庫之間數(shù)據(jù)的傳輸起著橋梁作用,那么到底如何導入導出數(shù)據(jù)呢?

第一:使用MapReduce作業(yè)來執(zhí)行導入:

1Sqoop首先檢查將要導入的表

1、確定主鍵(如果有的話),調(diào)用mapreduce,根據(jù)主鍵分割map

2、沒有主鍵,運行邊界查詢確定導入的記錄數(shù)(找到一個min和一個max,確定邊界進行劃分)

3、通過任務數(shù)來劃分邊界查詢的結(jié)果,使得他們有相同的負載

2Sqoop為每個將導入的表生成Java源文件

1、在導入過程中編譯和使用文件

2、導入后依然保留,可以被安全刪除

第二:使用sqoop導入整個數(shù)據(jù)庫:

(1)import-all-tables工具導入整個數(shù)據(jù)庫

1、存儲為逗號間隔的文件

2、默認導入到HDFShome目錄

3、數(shù)據(jù)將放在每個表的子目錄中

關系型數(shù)據(jù)庫導入導出絕招出爐

2)使用--warehouse-dir選項指定不同的基礎目錄關系型數(shù)據(jù)庫導入導出絕招出爐

第三:使用Sqoop導入單個表:

1import工具導入單個表

1、示例:導入accounts

以逗號分隔的方式存儲數(shù)據(jù)到HDFS

關系型數(shù)據(jù)庫導入導出絕招出爐

2、指定tab分隔字段

關系型數(shù)據(jù)庫導入導出絕招出爐

第四:增量導入

(1)  如果上次記錄導入后發(fā)生了變更怎么辦?

1、可以重新導入所有記錄,但是效率低

(2)  Sqooplastmodified增量模式導入新的和修改的記錄

1、基于指定的timestamp

2、確保當記錄更新或者被添加時timestamp也更新

關系型數(shù)據(jù)庫導入導出絕招出爐

(3)append增量模式只導入新紀錄

1、基于指定列的最后一條記錄

關系型數(shù)據(jù)庫導入導出絕招出爐

第五:使用SqoopHadoop導出數(shù)據(jù)到RDBMS

1Sqoopimport工具把數(shù)據(jù)從RDBMS拉入到HDFS

2)有時候也需要把HDFS的數(shù)據(jù)推回到RDBMS,當需要對大數(shù)據(jù)集進行批處理,并導出結(jié)果到RDBMS供其它系統(tǒng)訪問

3Sqoop使用export工具,RDBMS表在導出前必須已存在

關系型數(shù)據(jù)庫導入導出絕招出爐

掌握了以上方式,對于關系型數(shù)據(jù)庫的導入和導出基本有一個明確的認知和了解,其實我們在日常的學習和實踐過程中要多去看看別人的分享,畢竟做技術每個人的經(jīng)歷與經(jīng)驗不一樣,有時候說不準會有意向不到的收獲。我自己平時喜歡關注“大數(shù)據(jù)cn”、“大數(shù)據(jù)時代學習中心”這些微信服務號,對于我個人而言,起到了很大的促進作用,也期待每一個學習大數(shù)據(jù)的人都能夠有所收獲!


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI