mysql to hive_从MySQL到Hive,数据迁移就这么简单

本文介绍了如何使用Sqoop将MySQL中的数据迁移到Hive,通过设置相关参数,如连接信息、划分列、目标目录等,实现数据的快速迁移。示例中展示了创建MySQL表、执行Sqoop命令进行迁移以及验证Hive中数据的过程。
摘要由CSDN通过智能技术生成

使用Sqoop能够极大简化MySQL数据迁移至Hive之流程,并降低Hadoop处理分析任务时的难度。

5ae947895bcff10dfa9e6a38cd8e61c5.png

先决条件:安装并运行有Sqoop与Hive的Hadoop环境。为了加快处理速度,我们还将使用Cloudera Quickstart VM(要求至少4 GB内存),不过大家也可以使用Hortonworks Data Platform(至少要求8 GB内存)。由于我的笔记本电脑只有8 GB内存,因此我在这里使用CLoudera VM镜像。

如果大家需要使用Virtualbox运行Cloudera/HDP VM,则可以轻松使用其它多种Hadoop生态系统预装软件包(包括MySQL、Oozie、Hadoop、Hive、Zookeeper、Storm、Kafka以及Spark等等)。

在MySQL中创建表

在Cloudera VM中,打开命令界面并确保MySQL已经安装完毕。shell> mysql --version

mysql  Ver 14.14 Distrib 5.1.66, forredhat-linux-gnu (x86_64) using readline 5.

示例当中自然要使用自己的数据库,因此使用以下命令在MySQL中创建一套数据库:mysql> create database sqoop;

接下来:mysql> use sqoop;

mysql> create table customer(id varchar(3), name varchar(20), age varchar(3), salary integer(10));

Query OK, 0 rows affected (0.09 sec)

mysql> desc customer;

+--------+-------------+------+-----+---------+-------+

| Field  | Type        | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+

| id     | varchar(3)  | YES  |     | NULL    |       |

| name   | varchar(20) | YES  |     | NULL    |       |

| age    | varchar(3)  | YES  |     | NULL    |       |

| salary | int(10)     | YES  |     | NULL    |       |

+--------+-------------+------+-----+---------+-------+mysql> select * from customer;

+------+--------+------+--------+

| id   | name   | age  | salary |

+------+--------+------+--------+

| 1    | John   | 30   |  80000 |

| 2    | Kevin  | 33   |  84000 |

| 3    | Mark   | 28   |  90000 |

| 4    | Jenna  | 34   |  93000 |

| 5    | Robert | 32   | 100000 |

| 6    | Zoya   | 40   |  60000 |

| 7    | Sam    | 37   |  75000 |

| 8    | George | 31   |  67000 |

| 9    | Peter  | 23   |  70000 |

| 19   | Alex   | 26   |  74000 |

+------+--------+------+-----

开始Sqoop之旅

如大家所见,其中customer表中并不包含主键。我在该表中并未添加多少记录。默认情况下,Sqoop能够识别出表中的主键列(如果有的话),并将其作为划分列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值