![Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實(shí)踐(第3版)課件 第10章-Hadoop與RDBMS數(shù)據(jù)遷移工具Sqoop_第1頁](http://file4.renrendoc.com/view8/M00/05/10/wKhkGWbFcAKAU_1_AACIlE4S5xQ656.jpg)
![Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實(shí)踐(第3版)課件 第10章-Hadoop與RDBMS數(shù)據(jù)遷移工具Sqoop_第2頁](http://file4.renrendoc.com/view8/M00/05/10/wKhkGWbFcAKAU_1_AACIlE4S5xQ6562.jpg)
![Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實(shí)踐(第3版)課件 第10章-Hadoop與RDBMS數(shù)據(jù)遷移工具Sqoop_第3頁](http://file4.renrendoc.com/view8/M00/05/10/wKhkGWbFcAKAU_1_AACIlE4S5xQ6563.jpg)
![Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實(shí)踐(第3版)課件 第10章-Hadoop與RDBMS數(shù)據(jù)遷移工具Sqoop_第4頁](http://file4.renrendoc.com/view8/M00/05/10/wKhkGWbFcAKAU_1_AACIlE4S5xQ6564.jpg)
![Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實(shí)踐(第3版)課件 第10章-Hadoop與RDBMS數(shù)據(jù)遷移工具Sqoop_第5頁](http://file4.renrendoc.com/view8/M00/05/10/wKhkGWbFcAKAU_1_AACIlE4S5xQ6565.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
--Hadoop與RDBMS數(shù)據(jù)遷移工具sqoop學(xué)習(xí)目標(biāo)
·了解Sqoop的背景
·了解Sqoop的安裝
·了解Sqoop的相關(guān)功能
·掌握Hive和Sqoop兩者之間的關(guān)系
Sqoop是實(shí)現(xiàn)Hadoop與關(guān)系型數(shù)據(jù)庫(RDBMS)之間進(jìn)行數(shù)據(jù)遷移的工具,通過Sqoop可以簡單、快速地從諸如MySQL、Oracle等傳統(tǒng)關(guān)系型數(shù)據(jù)庫中把數(shù)據(jù)導(dǎo)入(import)到諸如HDFS、HBase、Hive等。Hadoop分布式存儲環(huán)境下,使用HadoopMapReduce等分布式處理工具對數(shù)據(jù)進(jìn)行加工處理,然后可以將最終處理結(jié)果導(dǎo)出(export)到RDBMS中。1.Sqoop簡介及基本安裝1.Sqoop簡介及基本安裝Sqoop的安裝非常簡單,在類UNIX系統(tǒng)上需要預(yù)先安裝好Java6及其后期版本,并已部署Hadoop穩(wěn)定版本的集群環(huán)境。從網(wǎng)站/下載最新的Sqoop穩(wěn)定版本。Sqoop的Apache發(fā)行包分為源碼包和已經(jīng)編譯好的二進(jìn)制包,下面只介紹Sqoop的二進(jìn)制包安裝方法。下載Sqoop二進(jìn)制包,并解壓到相應(yīng)安裝目錄,解壓后會生成子目錄sqoop-x.y.z.bin(x.y.z為版本號): $tar-xzfsqoop-x.y.z.bin.tar.gz把sqoop-x.y.z.bin目錄移動到sqoop-x.y.z目錄: $mvsqoop-x.y.z.bin/sqoop-x.y.z/設(shè)置環(huán)境變量,編輯文件~/.bashrc或~/.bash_profile把Sqoop的安裝路徑添加到PATH變量中,方便Sqoop的使用和管理: $exportSQOOP_HOME=/home/trucy/sqoop-x.y.z $exportPATH=$PATH:$SQOOP_HOME/bin2.Sqoop的配置Sqoop獲取Hadoop平臺各相關(guān)組件的配置信息是通過讀取環(huán)境變量實(shí)現(xiàn)的,如獲取Hadoop相關(guān)信息可以通過讀取變量${HADOOP_HOME}的值,獲取Hive相關(guān)信息可以通過讀取變量${HIVE_HOME}的值等。修改文件~/.bashrc或~/.bash_profile配置環(huán)境變量使用export命令將上述工具的根目錄添加到文件末尾;
同時(shí)Sqoop連接RDBMS需要使用相應(yīng)的數(shù)據(jù)庫驅(qū)動工具,如通過JDBC連接MySQL需要用到mysql-connector-java-x.y.z-bin.jar驅(qū)動程序2.Sqoop的配置將MySQL的JDBC驅(qū)動程序mysql-connector-java-x.y.z-bin.jar復(fù)制到${SQOOP_HOME}/lib目錄下使用sqoop的list-databases命令測試Sqoop連接MySQL是否成功:$sqooplist-databases--connectjdbc:mysql://mysql.server.ip:3306/--usernameroot-PEnterpassword:(輸入MySQL中root用戶密碼)information_schemaemployeeshiveDBmysqltesttrucyDB2.Sqoop的配置2.Sqoop的配置若配置好Hadoop相應(yīng)環(huán)境變量后使用Sqoop仍無法連接MySQL,可以執(zhí)行下述操作。(1)進(jìn)入${SQOOP_HOME}/conf目錄(注意第一個(gè)$為Linux命令提示符,第二個(gè)$為系統(tǒng)變量取值符): $cd${SQOOP_HOME}/conf(2)復(fù)制Sqoop讀取環(huán)境變量的模板文件到自定義文件: $cpsqoop-env-template.shsqoop-env.sh(3)編輯文件sqoop-env.sh,修改相應(yīng)屬性值指向相關(guān)軟件安裝目錄,如: #Setpathtowherebin/hadoopisavailable exportHADOOP_COMMON_HOME=/usr/local/hadoop #Setpathtowherehadoop-*-core.jarisavailable exportHADOOP_MAPRED_HOME=/usr/local/hadoop #setthepathtowherebin/hbaseisavailable exportHBASE_HOME=/usr/local/hbase #Setthepathtowherebin/hiveisavailable exportHIVE_HOME=/usr/local/hive #Setthepathforwherezookeperconfigdiris exportZOOCFGDIR=/usr/local/zk3.Sqoop相關(guān)功能Sqoop提供了一系列工具命令(toolscommand),包括導(dǎo)入操作(import)、導(dǎo)出操作(export)、導(dǎo)入所有表(import-all-tables)、列出所有數(shù)據(jù)庫實(shí)例(list-databases)和列出特定數(shù)據(jù)庫實(shí)例中的所有表(list-tables)等,在Linux命令提示符下輸入sqoophelp會輸出Sqoop所支持的所有工具命令下面分別詳細(xì)介紹Sqoop所支持的工具命令。3.Sqoop相關(guān)功能(1)使用root用戶登錄MySQL數(shù)據(jù)庫:$mysql-uroot–p(2)輸入root用戶密碼,創(chuàng)建MySQL數(shù)據(jù)庫SqoopDB:mysql>createdatabasesqoopDB;(3)使用root用戶登錄MySQL數(shù)據(jù)庫,創(chuàng)建用戶bear,密碼為123456:
$mysql-uroot-pmysql>createuser'bear'identifiedby'123456';(4)授權(quán)用戶bear擁有數(shù)據(jù)庫sqoopDB的所有權(quán)限:mysql>grantallprivilegesonsqoopDB.*to'bear'@'%'identifiedby'123456';(5)刷新系統(tǒng)權(quán)限表:mysql>flushprivileges;新建一個(gè)MySQL數(shù)據(jù)庫SqoopDB和用戶bear,并授予用戶bear擁有操作數(shù)據(jù)庫SqoopDB的所有權(quán)限。下面使用bear用戶登錄MySQL數(shù)據(jù)庫,在數(shù)據(jù)庫實(shí)例sqoopDB下創(chuàng)建一張employees表,后面所有的Sqoop相關(guān)操作都在SqoopDBemployees表上進(jìn)行:3.Sqoop相關(guān)功能(1)使用bear用戶登錄MySQL數(shù)據(jù)庫:$mysql-ubear–p(2)輸入密碼,進(jìn)入MySQL數(shù)據(jù)庫SqoopDB:mysql>usesqoopDB;(3)創(chuàng)建employees表:
mysql>CREATETABLEemployees(->idint(11)NOTNULLAUTO_INCREMENT,->namevarchar(100)NOTNULL,->ageint(8)NOTNULLDEFAULT0,->placevarchar(400)NOTNULL,->entry_timetimestampNOTNULLDEFAULTCURRENT_TIMESTAMP,->positionvarchar(500),->PRIMARYKEY(id)->)ENGINE=InnoDBDEFAULTCHARSET=utf8;QueryOK,0rowsaffected(0.18sec)(4)向employees表中插入3條數(shù)據(jù):mysql>INSERTINTOemployees(name,age,place,position)VALUES('James',27,'NewYork','Manager');mysql>INSERTINTOemployees(name,age,place,position)VALUES('Allen',30,'NewYork','CEO');mysql>INSERTINTOemployees(name,age,place,position)VALUES('Sharen',33,'NewYork','CTO');(5)查詢表employees,結(jié)果如圖:3.Sqoop相關(guān)功能3.Sqoop相關(guān)功能importsqoopimport工具導(dǎo)入RDBMS中的單個(gè)表到HDFS上,RDBMS表中的每一行以單獨(dú)記錄形式存儲在HDFS中,記錄默認(rèn)以文本文件格式(每個(gè)記錄一行)進(jìn)行存儲,還可以二進(jìn)制形式進(jìn)行存儲,如Avro文件格式或序列文件格式(SequenceFiles)。sqoop-import語法格式為(兩種操作功能一樣):$sqoopimport(generic-args)(import-args)$sqoop-import(generic-args)(import-args)sqoop-import操作分為連接數(shù)據(jù)庫服務(wù)器和導(dǎo)入數(shù)據(jù)等步驟。3.Sqoop相關(guān)功能(1)連接數(shù)據(jù)庫服務(wù)器(2)導(dǎo)入MySQL表sqoopDB.employees中的數(shù)據(jù)到HDFS上(3)查看導(dǎo)入到HDFS上的表數(shù)據(jù)(4)sqoop-import增量導(dǎo)入到HDFS上(5)導(dǎo)入MySQL表sqoopDB.employees中的數(shù)據(jù)到Hive(6)導(dǎo)入MySQL表sqoopDB.employees中的數(shù)據(jù)到HBase3.Sqoop相關(guān)功能import-all-tables
sqoopimport-all-tables工具的語法與sqoop-import語法大致相同,唯一的區(qū)別是sqoopimport-all-tables操作導(dǎo)入多個(gè)RDBMS表到HDFS上,每個(gè)RDBMS表數(shù)據(jù)分別位于HDFS上的一個(gè)單獨(dú)目錄下。執(zhí)行sqoopimport-all-tables操作必須滿足以下條件。(1)每個(gè)RDBMS表中只有一個(gè)單獨(dú)列作為主鍵,即不能是多個(gè)列的組合鍵作為主鍵。(2)執(zhí)行導(dǎo)入操作時(shí),每個(gè)RDBMS表的所有列都將被導(dǎo)入到HDFS上。(3)不能在RDBMS表上附加任何諸如WHERE條件的子句。3.Sqoop相關(guān)功能Sqoop-import語法格式為(兩種操作功能一樣):$sqoopimport-all-tables(generic-args)(import-args)$sqoop-import-all-tables(generic-args)(import-args)查詢表items_info顯示結(jié)果查看數(shù)據(jù)庫實(shí)例SqoopDB中的所有表3.Sqoop相關(guān)功能exportsqoop-export操作與sqoop-import的操作是相反的,即把HDFS、Hive、HBase中的文件或數(shù)據(jù)導(dǎo)出到RDBMS數(shù)據(jù)庫中,RDBMS表必須存在,否則sqoop-export操作執(zhí)行出錯(cuò)。sqoop-export語法格式為(兩種操作功能一樣):$sqoopexport(generic-args)(export-args)$sqoop-export(generic-args)(export-args)查看表users_info的內(nèi)容3.Sqoop相關(guān)功能list-databasessqoop-list-databases用于列舉出指定數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫模式。$sqooplist-databases--connectjdbc:mysql://database.mysql.node1/sqoopDB--usernamebear-PEnterpassword:information_schemamysqlperformance_schemasqoopDB3.Sqoop相關(guān)功能list-tablessqoop-list-tables用于列舉出指定數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫表。$sqooplist-tables--connectjdbc:mysql://database.mysql.node1/sqoopDB--usernamebear-PEnterpassword:employeesit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國保健杯盒市場調(diào)查研究報(bào)告
- 2025年自動平圓燙金機(jī)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國緞檔提花純棉面巾行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年環(huán)氧/聚酯混合型粉末涂料項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國液晶顯示器機(jī)殼行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年日夜轉(zhuǎn)換紅外防水?dāng)z像機(jī)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國小型斷路器配件行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年多頻超聲波治療儀項(xiàng)目可行性研究報(bào)告
- 2025年臥式玻璃清洗烘干機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年低應(yīng)力保護(hù)膠項(xiàng)目可行性研究報(bào)告
- 銷售人員培訓(xùn)課程課件
- 電子表格表格會計(jì)記賬憑證模板
- 制造過程優(yōu)化與工藝改進(jìn)培訓(xùn)
- 46號抗磨液壓油MSDS
- 水磨石地面驗(yàn)收標(biāo)準(zhǔn)
- QC成果提高剪力墻線盒預(yù)埋安裝合格率
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全表格+示范填寫與說明
- 龍虎山正一日誦早晚課
- 車輛年審委托書下載
- 高考語文閱讀兒童視角的作用專項(xiàng)訓(xùn)練(含答案)
- 繼承人股權(quán)轉(zhuǎn)讓協(xié)議書
評論
0/150
提交評論