2016-04-13 44 views
0

我正在使用Sqoop將數據從teradata導入配置單元。使用--map-column-hive標記的char,varchar,Sqoop命令中的十進制問題

我在sqoop導入命令添加--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)

我:

慶典:附近意外的標記語法錯誤'(」

如何處理char,在這個varchardecimal

回答

1

檢查源代碼並跟蹤與此相關的問題。我發現:

對於--map-column-hive標籤

  1. 沒有精度和標度

    鍵=值

    例如col1=int

  2. 精確

    鍵= 「值(精確)」(可以是在單引號

    例如col2="varchar(255)"

  3. 隨着規模

    有這個錯誤,定格在Sqoop 1.4.7

    修復並不簡單。 例如,對於一列col3=decimal(1,1)一個必要寫col3=decimal(1%2C1)

    檢查SQOOP-2103 issue更多細節