2016 - 2024

感恩一路有你

sqoop将hive表导入到数据库 sqoop导出到mysql需要的驱动包是?

浏览量:3241 时间:2023-04-06 23:02:31 作者:采采

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 _部门_分区

-输入字段-终止者

分区表 sqoop 目录 hive

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。