2016 - 2024

感恩一路有你

使用windows安全认证连接mysql 如何用sqoop将hive分区表信息导入到mysql命令?

浏览量:2814 时间:2023-06-20 18:34:59 作者:采采

如何用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.创建临时表。

hivegt将表tmp_dept_partition创建为select * from dept_partition

一个

一个

5.查询临时表

hivegt select * from临时部门分区

一个

一个

- - - - -

| 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

-

为什么oracle需要配置而mysql不需要?

因为orcle需要解压和必要时的,所以它需要配置,但mysql不需要 t.

与以未压缩格式存储数据相比,新的Oracle数据压缩技术可以确保以更少的开销节省三倍以上的磁盘存储空间。这比仅仅节省磁盘空间有更大的优势,因为它可以让企业节省更多的开支,以便有更多的资金来巩固自己的地位。

自动诊断库(ADR)是严重错误的知识库。知识库基本可以自动完成一些过去由数据库管理员手工完成的操作。

作为ADR的一部分,SQL性能分析器(SPA)是最令人惊讶的特性之一。SQL性能分析器是一个整体调整工具,管理员可以通过它来调整数据。在数据库上定义并重放一个典型的工作负载,然后管理员就可以调整整体参数,使数据库尽快达到最佳性能——而这个任务也是数据库管理员多年来手工完成的。

由于获得了最优的初始参数,数据库管理员不需要调整数万条SQL语句。管理员需要做的就是给出一个典型的负载,SPA会根据历史来决定SQL的最终设置,而不需要管理员测试哪个SQL设置最合理。

多年来,甲骨文一直试图完成的另一个新功能是 "在线更新 "(不关机更新软件)。事实上,从软件工程的角度来看,设计一个可以在运行时自动升级的软件是很难的。由于Real Application Clusters (RAC)的特性,甲骨文公司再次向其他数据库供应商施加了更大的压力。在实际使用过程中,数据库产品的用户总是希望产品具有持续的高可用性,并不意味着在下一次补丁更新之前的三年就足够满足了。

自动内存管理的特性可以追溯到Oracle 9i,当时甲骨文推出了第一个自动调整存储池的工具。AMM工具实际上是一种检测机制。实际上,Oracle 11g有许多随机存取存储池。当存储管理模式(AMM)检测到存储池已满时,它将整个随机存取存储器(RAM)从一个区域分配到其他相对合适的区域。

分区表 sqoop hive 目标

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