使用Hadoop Sqoop将数据导入Hive时如何更改表模式?

时间:2014-02-14 11:53:17

标签: mysql hadoop hive sqoop

将数据从MySQL导入Hadoop Hive时,我需要在Hive创建的新表中添加额外的“timestamp”字段。

Input: MySQL table fields : Name, e-nmail, address
Output: Hive table fileds : Name, e-nmail, address, timestamp

问题:

  1. 如何请求Sqoop将“timestamp”字段添加到新表中 创建以在Hive中存储导入的数据?
  2. 如何修改架构(添加/     删除Hive中现有表的字段?

1 个答案:

答案 0 :(得分:0)

您可以使用Sqoop中的--query参数自定义从RDBMS中选择的数据。您的命令可能如下所示:

sqoop import \
--connect jdbc:mysql://host:port/db \
--query 'SELECT name, email, address, NOW() AS timestamp FROM table WHERE $CONDITIONS' \
--split-by name \
--hive-import \
--hive-table table \
--target-dir location