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