我正在使用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:意外令牌附近的语法错误`('
如何在此处理char
,varchar
和decimal
?
答案 0 :(得分:1)
检查源代码并跟踪与此相关的问题。我找到了:
--map-column-hive
代码
没有精确度和比例
key = value
e.g。 col1=int
精确
key =" value(precision)" (可以使用单引号)
e.g。 col2="varchar(255)"
有比例
有一个错误,在Sqoop 1.4.7
中修复修复并不简单。
例如,对于列col3=decimal(1,1)
,需要编写col3=decimal(1%2C1)
查看SQOOP-2103 issue了解详情