欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫(kù)-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)是一家專業(yè)提供羅源企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、H5開(kāi)發(fā)、小程序制作等業(yè)務(wù)。10年已為羅源眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

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

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

問(wèn)題

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

解決方案

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

討論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

冪等輸出

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

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

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

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

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

直接輸出

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

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

使用mysqlimport進(jìn)行冪等輸出

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

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

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

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

當(dāng)前標(biāo)題:怎么將數(shù)據(jù)從Hadoop導(dǎo)出到關(guān)系型和NoSQL數(shù)據(jù)庫(kù)-創(chuàng)新互聯(lián)
文章起源:http://www.chinadenli.net/article22/ccigjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃網(wǎng)頁(yè)設(shè)計(jì)公司網(wǎng)站排名網(wǎng)站維護(hù)域名注冊(cè)網(wǎng)站收錄

廣告

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

成都做網(wǎng)站