成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

小編給大家分享一下怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSql數(shù)據(jù)庫,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的嘉蔭網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

實踐:使用Sqoop將數(shù)據(jù)導(dǎo)出到MySQL

Hadoop擅長與大多數(shù)關(guān)系型數(shù)據(jù)庫打交道,因此將OLTP數(shù)據(jù)提取到HDFS,執(zhí)行一些分析,然后將其導(dǎo)出回數(shù)據(jù)庫是很常見的。

問題

希望將數(shù)據(jù)寫入關(guān)系數(shù)據(jù)庫,同時確保寫入是冪等的。

解決方案

此技術(shù)介紹了如何使用Sqoop將文本文件導(dǎo)出到關(guān)系數(shù)據(jù)庫,還介紹了如何配置Sqoop以使用具有自定義字段和記錄分隔符的文件。我們還將介紹冪等導(dǎo)出,以確保失敗的導(dǎo)出不會使數(shù)據(jù)庫處于不一致狀態(tài)。

討論

這種技術(shù)假設(shè)已經(jīng)安裝MySQL并創(chuàng)建模式。

Sqoop導(dǎo)出要求導(dǎo)出數(shù)據(jù)庫表已存在,Sqoop可以支持表中行的插入和更新。

將數(shù)據(jù)導(dǎo)出到數(shù)據(jù)庫共享

我們在導(dǎo)入部分檢查的許多參數(shù),不同之處在于export需要使用--export-dir參數(shù)來確定要導(dǎo)出的HDFS目錄,還將為導(dǎo)出創(chuàng)建另一個選項文件,以防止在命令行上不安全地提供密碼:

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

第一步是將數(shù)據(jù)從MySQL導(dǎo)出到HDFS,以確保有一個良好的起點,如以下命令所示:

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

Sqoop導(dǎo)入的結(jié)果是HDFS中有許多CSV文件,可以在以下代碼中看到:

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

對于從HDFS到MySQL的Sqoop導(dǎo)出,將指定目標(biāo)表應(yīng)該是stocks_export并且應(yīng)該從HDFS庫目錄導(dǎo)出數(shù)據(jù):

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

默認(rèn)情況下,Sqoop導(dǎo)出將對目標(biāo)數(shù)據(jù)庫表執(zhí)行INSERT,可以使用--update-mode參數(shù)支持更新。值updateonly意味著如果沒有匹配的密鑰,更新將失敗。如果匹配的鍵不存在,則allowInsert的值將直接插入。用于執(zhí)行更新的表列名稱在--update-key參數(shù)中提供。

以下示例表明只應(yīng)使用主鍵嘗試更新:

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

輸入數(shù)據(jù)格式

可以使用多個選項覆蓋用于解析輸入數(shù)據(jù)的默認(rèn)Sqoop設(shè)置,表5.7列出了這些選項。

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

表5.7 輸入數(shù)據(jù)的格式選項

冪等輸出

執(zhí)行輸出的Sqoop map任務(wù)使用多個事務(wù)進行數(shù)據(jù)庫寫入。如果Sqoop導(dǎo)出MapReduce作業(yè)失敗,則表可能包含部分寫入。對于冪等數(shù)據(jù)庫寫入,可以指示Sqoop執(zhí)行MapReduce寫入臨時表。成功完成作業(yè)后,臨時表將在單個事務(wù)中移動到目標(biāo)表,該事務(wù)是冪等的,可以在圖5.19中看到事件順序。

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

圖5.19  Sqoop分段事件序列,有助于確保冪等輸出

在下面的示例中,臨時表是stocks_staging,還告訴Sqoop在MapReduce作業(yè)以--clear-staging-table參數(shù)啟動之前清除它:

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

直接輸出

在導(dǎo)入技術(shù)中使用快速連接器,這是使用mysqldump實用程序的優(yōu)化。Sqoop導(dǎo)出也支持使用mysqlimport工具的快速連接器。與mysqldump一樣,集群中的所有節(jié)點都需要安裝mysqlimport,并且在用于運行MapReduce任務(wù)的用戶路徑中可用。與導(dǎo)入一樣, - diand參數(shù)可以使用快速連接器:

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

使用mysqlimport進行冪等輸出

Sqoop不支持將快速連接器與臨時表結(jié)合使用,這就是使用常規(guī)連接器實現(xiàn)冪等輸入的方法。但是仍然可以通過快速連接器實現(xiàn)冪等輸入,并在最后進行一些額外的工作。需要使用快速連接器寫入臨時表,然后觸發(fā)INSERT語句,該語句將數(shù)據(jù)原子復(fù)制到目標(biāo)表中,步驟如下所示:

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫

這打破了關(guān)于在命令行上公開憑證的早期規(guī)則,但是編寫可以從配置文件中讀取這些設(shè)置的腳本很容易。

看完了這篇文章,相信你對“怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NOSQL數(shù)據(jù)庫”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享標(biāo)題:怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫
鏈接分享:http://jinyejixie.com/article10/ijdhgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、微信小程序、品牌網(wǎng)站制作小程序開發(fā)、自適應(yīng)網(wǎng)站軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
柳河县| 佳木斯市| 双桥区| 和顺县| 罗源县| 桦南县| 沛县| 青海省| 清水河县| 阿拉善左旗| 崇义县| 大连市| 车致| 阳新县| 临海市| 霍州市| 台北县| 德兴市| 大理市| 抚顺县| 岳阳县| 哈巴河县| 雷波县| 深州市| 六安市| 长沙市| 丽江市| 板桥市| 疏附县| 乳源| 三河市| 通化县| 玉屏| 盐池县| 绵竹市| 织金县| 赤壁市| 怀宁县| 贵德县| 会同县| 湖口县|