sqoop將hive表導(dǎo)入到數(shù)據(jù)庫(kù) sqoop導(dǎo)出到mysql需要的驅(qū)動(dòng)包是?
sqoop導(dǎo)出到mysql需要的驅(qū)動(dòng)包是?你輸入sqoop import的目錄在哪里?如果在/usr/sqoop下輸入該命令,請(qǐng)?jiān)?usr/sqoop下輸入hiv如何用sqoop將hive分區(qū)表信息導(dǎo)
sqoop導(dǎo)出到mysql需要的驅(qū)動(dòng)包是?
你輸入sqoop import的目錄在哪里?如果在/usr/sqoop下輸入該命令,請(qǐng)?jiān)?usr/sqoop下輸入hiv
如何用sqoop將hive分區(qū)表信息導(dǎo)入到mysql命令?
問(wèn)題分析:
hive中分區(qū)表的底層是HDFS多個(gè)目錄下的單個(gè)文件,hive導(dǎo)出數(shù)據(jù)的本質(zhì)是導(dǎo)出HDFS的文件。
hive中的分區(qū)表,因?yàn)榉謪^(qū)字段(靜態(tài)分區(qū))不在文件中,所以在導(dǎo)出sqoop時(shí)不能直接導(dǎo)出。
思路:在hive中創(chuàng)建一個(gè)臨時(shí)表,復(fù)制分區(qū)表,然后將分區(qū)字段轉(zhuǎn)換成普通字段,再用sqoop導(dǎo)出tmp表,實(shí)現(xiàn)需求。
步驟如下:
文章目錄
1.創(chuàng)建目標(biāo)表(分區(qū)表)
1.1查看表格結(jié)構(gòu)
2.輸入數(shù)據(jù)
3.查詢表dept_partition
4.創(chuàng)建臨時(shí)表。
5.查詢臨時(shí)表
6.檢查表結(jié)構(gòu)(此時(shí),分區(qū)表已經(jīng)轉(zhuǎn)換為非分區(qū)表)
鐘健表部門(mén)_分區(qū)
8.使用sqoop導(dǎo)入到MySQL。
查詢驗(yàn)證已成功導(dǎo)出。
1.創(chuàng)建目標(biāo)表(分區(qū)表)
hivegt創(chuàng)建表` dept_partition `(
` deptno` int,
` dname ;字符串,
` loc ;字符串)
由(` month` string)行格式分隔的字段以t結(jié)尾
一個(gè)
2
三
四
五
一個(gè)
2
三
四
五
1.1查看表格結(jié)構(gòu)
hivegt顯示創(chuàng)建表dept_partition
一個(gè)
一個(gè)
- -
| createtab_stmt |
- -
|創(chuàng)建表“dept _ partition ”(|
| `deptno` int,|
| `dname ;字符串,|
| `loc` string) |
|分區(qū)者(|
| `月`字符串)
一個(gè)
2
三
四
五
六
七
八
九
一個(gè)
2
三
四
五
六
七八
九
2.輸入數(shù)據(jù)
hivegt將path/user/hive/hive _ db/data/dept . txt中的數(shù)據(jù)加載到表dept_partition中
一個(gè)
一個(gè)
10會(huì)計(jì)1700
20研究1800
30銷售1900
40操作1700
一個(gè)
2
三
四
一個(gè)
2
三
四
3.查詢表dept_partition
hivegt select * from dept _ partition
一個(gè)
一個(gè)
- - - - -
| dept _ | dept _ partition . dname | dept _ partition . loc | dept _ |
- - - - -
| 10 |會(huì)計(jì)| 1700 | 2019-10-19 |
| 20 |研究| 1800 | 2019-10-19 |
| 30 |銷售| 1900 | 2019-10-19 |
| 40 |運(yùn)營(yíng)| 1700 | 2019-10-19 |
| 10 |會(huì)計(jì)| 1700 | 2019-10-20 |
| 20 |研究| 1800 | 2019-10-20 |
| 30 |銷售| 1900 | 2019-10-20 |
| 40 |運(yùn)營(yíng)| 1700 | 2019-10-20 |
- - - - -
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
4.創(chuàng)建臨時(shí)表。
希韋特將表tmp_dept_partition創(chuàng)建為select * from dept_partition
一個(gè)
一個(gè)
5.查詢臨時(shí)表
hivegt select * from tmp _ dept _ partition
一個(gè)
一個(gè)
- - - - -
| tmp _ dept _ | tmp _ dept _ partition . dname | tmp _ dept _ partition . loc | tmp _ dept _ |
- - - - -
| 10 |會(huì)計(jì)| 1700 | 2019-10-19 |
| 20 |研究| 1800 | 2019-10-19 |
| 30 |銷售| 1900 | 2019-10-19 |
| 40 |運(yùn)營(yíng)| 1700 | 2019-10-19 |
| 10 |會(huì)計(jì)| 1700 | 2019-10-20 |
| 20 |研究| 1800 | 2019-10-20 |
| 30 |銷售| 1900 | 2019-10-20 |
| 40 |運(yùn)營(yíng)| 1700 | 2019-10-20 |
- - - - -
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
6.檢查表結(jié)構(gòu)(此時(shí),分區(qū)表已經(jīng)轉(zhuǎn)換為非分區(qū)表)
hivegt顯示創(chuàng)建表tmp_dept_partition
一個(gè)
一個(gè)
-- -
| createtab_stmt |
- -
|創(chuàng)建表“tmp _ dept _ partition ”(|
| `deptno` int,|
| `dname ;字符串,|
| `loc ;字符串,|
| `月`字符串)
一個(gè)
2
三
四
五
六
七
八
一個(gè)
2
三
四
五
六
七
八
鐘健表部門(mén)_分區(qū)
如果存在dept_partition,mysqlgt將刪除表
創(chuàng)建表dept_partition(
` deptno` int,
` dname ; varchar(20),
` loc ; varchar(20),
` month ; varchar(50))
一個(gè)
2
三
四
五
六
一個(gè)
2
三
四
五
六
8.使用sqoop導(dǎo)入到MySQL。
bin/sqoop導(dǎo)出
-連接JDBC :mysql://Hadoop 01 : 3306/partitionb
-用戶名root
-密碼123456
-表部門(mén)分區(qū)
-映射器數(shù)量1
-export-目錄/用戶/配置單元/倉(cāng)庫(kù)/配置單元_數(shù)據(jù)庫(kù).數(shù)據(jù)庫(kù)/tmp _部門(mén)_分區(qū)
-輸入字段-終止者