2016-09-30 884 views
0

我试图将文件导入配置单元中,因为parquet和--map-column-hive column_name = timestamp被忽略。列'column_name'最初是在sql中键入datetime,并将其转换为parquet中的bigint。我想通过sqoop将其转换为时间戳格式,但它不起作用。被忽略的Sqoop函数'--map-column-hive'

sqoop import \ 

--table table_name \ 

--driver com.microsoft.sqlserver.jdbc.SQLServerDriver \ 

--connect jdbc:sqlserver://servername \ 

--username user --password pw \ 

--map-column-hive column_name=timestamp\ 

--as-parquetfile \ 

--hive-import \ 

--hive-table table_name -m 1 

当我在配置单元中查看表时,它仍然显示与其原始数据类型的列。

我试过column_name = string,但也没有工作。

我认为这可能是一个将文件转换为实木复合地板的问题,但我不确定。有没有人有解决方案来解决这个问题?

运行命令时,我没有收到任何错误,它只是完成导入,就好像命令不存在一样。

回答

0

在配置单元1.2版本之前ParquetSerde中的Timestmap支持不是avabile。 1.1.0中只有二进制数据类型支持。

请检查link

请升级版本1.2及以后,它应该工作。

Please check the issue log and release notes below. 

https://issues.apache.org/jira/browse/HIVE-6384 

https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329345&styleName=Text&projectId=12310843 
+0

它不是时间戳的格式不工作,它是功能--map-column-hive不起作用。如上所述,我试图将列更改为字符串,并没有发生任何事情。 –

+0

什么是你的蜂巢版本? –

+0

它是版本1.1.0 –