2016-09-30 47 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 –