999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Sqoop數據收集與入庫系統的應用

2017-12-22 07:35:40作者楊彬遼寧行政學院
電子制作 2017年21期
關鍵詞:數據庫作業方法

作者/楊彬,遼寧行政學院

Sqoop數據收集與入庫系統的應用

作者/楊彬,遼寧行政學院

大多數情況下單位或組織有價值的數據都要存儲在關系型數據庫系統中,隨著時間的累計,數據量已非常龐大,為了進一步進行處理,有些數據需要抽取出來,利用大數技術進行處理再次加工。為了能夠和Hadoop HDFS系統之外的數據庫系統機型交互,Sqoop孕育而生。Sqoop 是一款開源的工具,是Apache頂級項目,通過JDBC和關系數據庫進行交互,用戶可將數據從關系型數據庫抽取到Hadoop HDFS中;也可以把hadoop MapReduce處理完的數據導回到關系數據庫中。

數據導入;數據導出;JDBC;關系數據庫

1. Sqoop架構

Sqoop架構非常簡單,整合了Hive、Hbase和Oozie,通過hadoop 的MapReduce任務來傳輸數據并提供并發和容錯功能。Sqoop接收到客戶端的shell命令或者Java api命令后,通過Sqoop中的任務翻譯器把命令轉換為對應的MapReduce任務,將關系型數據庫中的數據和Hadoop HDFS中的數據進行相互轉移,進而完成數據導入和數據導入導出。Sqoop架構如圖1所示。

圖1 Sqoop架構

2. Sqoop數據庫導入與使用

■2.1 Sqoop數據庫導入

Sqoop是通過一個MapReduce作業從關系數據庫中導入一個表,抽取一行行記錄,然后寫入到HDFS。首先Sqoop使用JDBC來檢查將要導入的表并檢索出表中所有的列及其對應的SQL數據類型。這些SQL類型被映射到Java數據類型中,這些對應的java類型在MapReduce應用中將被作為字段值被保存,這些信息被Sqoop的代碼生成器使用來創建對應表的類,用于保存從表中抽取的記錄。在導入中,關鍵的是DBWritable接口的序列化方法,Widget類和JDBC進行交互使用這些方法。

JDBC的ResultSet接口提供用戶從檢查結果中檢索記錄的游標,readFields()方法將用ResultSet中一行數據的列來填充Example對象的字段。其格式如下:

Public void readFields(resultSet _dbResults)throws SQLException;

InputFormat()方法通過JDBC從一個數據庫表中讀取部分內容,它通過 Sqoop啟動MapReduce作業來完成。

DataDriverDBInputFormat()方法能夠完成多個Map任務對查詢結果的劃分,為了提高導入性能,查詢根據表的主鍵我的做為“劃分列”來進行劃分的。在配置InputFormat之后,Sqoop將作業發送到MapReduce集群。Map任務將執行查詢并將ResultSet中的數據反序列化到生成類的實例,這些數據保存在SequenceFile文件中也可以被分割為多個文本文件。導入指令為:Sqoop import –connect jdbc:mysql://hostname:port/database –username root –password 123456 –tablename –m n。

其構成含義如下:

(1)––co n n e c t j d b c:m y s q l://hostname:port/database指定mysql數據庫主機名和端口號和數據庫名;

(2)––username root 指定數據庫用戶名;

(3)––password 123456 指定數據庫密碼;

(4)––tablename 導出的表名;

(5)–m n 啟動一個map進程數,如果表很大,可以啟動多個map進程。

默認情況下,Sqoop會將導入的數據保存為逗號分隔的文本文件。

Sqoop從關系數據庫中導入到HDFS的過程,如圖2所示。

具體操作實例如下:關系數據庫(10.8.218.89)表為base,執行Sqoop命令將數據從mysql導入到hive中,具體命令為:

Sqoop import ––connect jdbc:mysql://10.8.218.89:3208/dbvideo ––table base ––user root––password 123456 –m 1 ––hive–import ––hive–database dbvideo ––hive–table base ––hive–overwrite ––fields–ter–minated–by “ ”––lines–terminated–by “ ”––as–textf i le

通過help指令查看sqoop導入幫助: Sqoop help import。

圖2 Sqoop從數據庫中導入到HDFS的過程

■2.2 Sqoop導入數據的使用

數據被導入HDFS,以文本格式數據可以供Hadoop Streaming中的腳本使用,也可以為TextInputFormat為默認格式運行的MapReduce作業使用。同時Sqoop和Hive可共同構成一個強大的服務用于分析任務,在進行導入時,Sqoop可以生成hive表,將數據導入hive表,其命令如下:

Sqoop import –connect jdbc:mysql://localhost/ha–doopguide –table widgets –m 1 –hive–import

3. Sqoop數據庫導出

■3.1 Sqoop數據庫導出

Sqoop導出功能其導入功能非常相似,在執行導出操作之前,Sqoop一般使用jdbc連接數據庫并選擇一個導出方法,Sqoop會根據目標表的定義生成一個java類,通過這個生成類從文本文件中解析記錄,接著會啟動一個MapReduce作業,從HDFS中讀取源數據文件,使用生成的類解析記錄,執行選定的導出方法。jdbc的導出方法會產生一批insert語句,每條語句都會向目標表中插入多條記錄。

Sqoop還可以將存儲在SequenceFile中的記錄導出到輸出表。Sqoop從SequenceFile中讀取對象,發送到OutputCollector,由它將這些對象傳遞給數據庫導出OutputFormat(),由OutputFormat()完成輸出到表的過程。Sqoop從HDFS導出到關系數據庫的過程,如圖3所示

圖3 Sqoop從HDFS導出到關系數據庫的過程

■3.2 Sqoop導出數據的執行

在Sqoop中,導出的數據源是HDFS,關系數據庫作為目標。在將一張表從HDFS導出到關系數據庫時,須在關系數據庫中創建一張用于接收數據的目標表。執行過程如下:

①先在mysql中創建一個具有相同序列順序的sql目標表

Create table sales(volume decimal(10,2),zip inte ger);

②接著運行導出命令:

Sqoop export –connect jdbc:mysql://localhost/ha doopguide –m 1 –table sales –export–dir /user/hive/zip_prof i ts –input–f i elds–terminated–by “

主站蜘蛛池模板: 色婷婷电影网| 免费福利视频网站| 久久a毛片| 国产 日韩 欧美 第二页| 免费精品一区二区h| 亚洲精品国产精品乱码不卞| 国产成人AV大片大片在线播放 | 久久精品人人做人人爽97| 日本爱爱精品一区二区| 呦女精品网站| 91人妻日韩人妻无码专区精品| 亚洲日韩精品无码专区97| 亚洲精品无码AV电影在线播放| 国产精品无码AⅤ在线观看播放| 久无码久无码av无码| 国产丝袜91| 无码国内精品人妻少妇蜜桃视频 | 最新国产精品第1页| 国内自拍久第一页| 日日摸夜夜爽无码| 无码又爽又刺激的高潮视频| 91系列在线观看| 鲁鲁鲁爽爽爽在线视频观看| 伊在人亞洲香蕉精品區| 红杏AV在线无码| 亚洲免费毛片| 国产无码网站在线观看| 国产第一页屁屁影院| 亚洲性一区| 成年人午夜免费视频| 亚洲国产精品久久久久秋霞影院 | 久久男人资源站| 91麻豆精品国产高清在线| 中文字幕日韩丝袜一区| 久久久久久久97| 日本精品视频一区二区| 国产成人91精品| 一区二区理伦视频| 国产福利免费视频| 91色老久久精品偷偷蜜臀| 精品国产网站| 91香蕉视频下载网站| 婷婷丁香色| 伊人久久大香线蕉影院| 四虎在线高清无码| 国产色婷婷视频在线观看| 亚洲一区二区视频在线观看| 91免费在线看| 婷婷亚洲综合五月天在线| 欧美综合中文字幕久久| 精品国产三级在线观看| 国产精品美人久久久久久AV| 欧美a在线视频| 国产亚洲视频中文字幕视频| 日韩免费成人| 女人av社区男人的天堂| 欧美成人免费一区在线播放| 色天天综合| 精品视频免费在线| 尤物成AV人片在线观看| 亚洲人人视频| 国产精品刺激对白在线| 日韩高清在线观看不卡一区二区| 国模视频一区二区| 老色鬼欧美精品| 亚洲人成在线精品| 国产波多野结衣中文在线播放 | 99久久精品免费视频| 视频国产精品丝袜第一页| 国产69精品久久久久孕妇大杂乱 | 9久久伊人精品综合| 波多野结衣视频网站| 免费精品一区二区h| 日韩高清中文字幕| 久久精品午夜视频| 亚洲色大成网站www国产| 免费人成黄页在线观看国产| 欧美亚洲一区二区三区在线| 五月婷婷综合色| 精品一区二区三区视频免费观看| 91久久国产综合精品女同我| 国产精品理论片|