【问题标题】:sqoop auto create hive table comment when import mysql?sqoop 在导入 mysql 时自动创建配置单元表注释?
【发布时间】:2015-05-25 07:20:23
【问题描述】:

目前,我知道我可以使用--hive-import 选项告诉 hive 在 hive 中自动创建表,但是在 hive 中自动创建的表不包含在 mysql 表中的 cmets。

有没有办法在 hive 表和 mysql 表之间同步 cmets?

确切地说,我有以下 mysql 表:

CREATE TABLE `orders` (
  `current_day` varchar(11) NOT NULL DEFAULT '' COMMENT 'order day',
  `total` int(11) unsigned NOT NULL COMMENT 'total order'
);

我使用以下命令导入配置单元:

sqoop import --connect jdbc:mysql://<mysql-host>:3306/xigua --username <user>  --password <pwd> --table orders --hive-import  -m 1

然后在蜂巢中我得到下表:

CREATE TABLE `orders`(
  `current_day` string,
  `total` bigint)
COMMENT 'Imported by sqoop on 2015/05/25 15:10:03'
ROW FORMAT DELIMITED

【问题讨论】:

    标签: mysql database hadoop sqoop


    【解决方案1】:

    我认为不可能通过 sqoop 从 mysql 列中复制 cmets。您可以在创建语句中添加 cmets 或在稍后阶段更改表列并使用以下语法添加 cmets:

    ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];

    您可以使用查询您的 mysql 表元数据的脚本自动执行此过程,然后使用该信息来更改您的配置单元表。

    【讨论】:

      猜你喜欢
      • 2017-08-05
      • 1970-01-01
      • 2015-11-12
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 2013-02-03
      • 1970-01-01
      相关资源
      最近更新 更多