sqoop将hive表导入到数据库 sqoop导出到mysql需要的驱动包是?
sqoop导出到mysql需要的驱动包是?
你输入sqoop import的目录在哪里?如果在/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
hivegt select * from dept _ 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 * from dept_partition
一个
一个
5.查询临时表
hivegt select * from tmp _ 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://Hadoop 01 : 3306/partitionb
-用户名root
-密码123456
-表部门分区
-映射器数量1
-export-目录/用户/配置单元/仓库/配置单元_数据库.数据库/tmp _部门_分区
-输入字段-终止者
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。