使用--map-column-hive标记在Sqoop命令中使用char,varchar,decimal进行问题

时间:2016-04-13 08:42:14

标签: hive sqoop

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

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

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

我有例外:

  

FAILED:ParseException第1行:234输入不匹配','期待(原始类型规范中的'varchar'附近

然后我尝试了:

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

我得到了:

  

bash:意外令牌附近的语法错误`('

如何在此处理charvarchardecimal

1 个答案:

答案 0 :(得分:1)

检查源代码并跟踪与此相关的问题。我找到了:

--map-column-hive代码

  1. 没有精确度和比例

    key = value

    e.g。 col1=int

  2. 精确

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

    e.g。 col2="varchar(255)"

  3. 有比例

    有一个错误,在Sqoop 1.4.7

    中修复

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

    查看SQOOP-2103 issue了解详情