6

我有一个大的 mysql 表,我想将它转移到 Hadoop/Hive 表。是否有标准的命令或技术可以将一个简单(但很大)的表从 Mysql 传输到 Hive?该表主要存储分析数据。

4

2 回答 2

4
  1. 首先下载mysql-connector-java-5.0.8并将jar放到Sqoop的lib和bin文件夹中

  2. 在 Hive中使用与mysql 中一样的确切字段名称和类型创建表定义

    sqoop import --verbose --fields-terminated-by ',' --connect jdbc:mysql://localhost/test --table employee --hive-import --warehouse-dir /user/hive/warehouse --fields -terminated-by ',' --split-by id --hive-table 员工

测试 - 数据库名称

员工 - 表名(存在于测试中)

/user/hive/warehouse - HDFS 中必须导入数据的目录

--split-by id - id 可以是表'employee'的主键

--hive-table employee - 其定义存在于 Hive 中的员工表

Sqoop 用户指南(学习 Sqoop 的最佳指南之一)

于 2012-01-20T12:00:54.643 回答
1

Apache Sqoop是一个解决这个问题的工具:

Apache Sqoop(TM) 是一种工具,设计用于在 Apache Hadoop 和结构化数据存储(如关系数据库)之间高效传输批量数据。

于 2011-01-08T07:29:05.910 回答