【问题标题】:Issue with char, varchar, decimal in Sqoop command with --map-column-hive tag带有 --map-column-hive 标签的 Sqoop 命令中的 char、varchar、decimal 问题
【发布时间】:2016-08-04 05:32:03
【问题描述】:

我正在使用 Sqoop 将数据从 teradata 导入到 hive。

我在 sqoop 导入命令中添加了--map-column-hive

--map-column-hive col1=int,col2=float,col3=decimal,col4=timestamp,col5=varchar

我遇到了异常:

FAILED: ParseException line 1:234 mismatched input ',' 期望(在原始类型规范中靠近 'varchar'

然后我尝试了:

--map-column-hive col1=int,col2=float,col3=decimal,col4=timestamp,col5=varchar(255)

我明白了:

bash:意外标记 `(' 附近的语法错误

在这如何处理charvarchardecimal

【问题讨论】:

    标签: hive sqoop


    【解决方案1】:

    在检查源代码并跟踪与此相关的问题后。我发现:

    对于--map-column-hive标签

    1. 没有精度和规模

      键=值

      例如col1=int

    2. 精准

      key = "value(precision)" (可以用单引号)

      例如col2="varchar(255)"

    3. 有规模

      有一个错误,已在 Sqoop 1.4.7 中修复

      修复并不简单。 例如,对于一列col3=decimal(1,1),需要写col3=decimal(1%2C1)

      查看SQOOP-2103 issue了解更多详情

    【讨论】:

      猜你喜欢
      • 2017-12-16
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 2014-08-12
      相关资源
      最近更新 更多