2017-08-03 17 views
1

私はsqoop-importコマンドを使用して、データをteradataからHiveに変換しました。 Sqoop-importコマンドはカンマ(、)を区切り文字としてテキストファイルを作成しています。フィールド値にコンマ区切りの値がある場合、外部Hiveテーブルを作成する方法

以下に示すようにSqoopingした後、私は外部表を作成していた: "ABC、XYZ、MNL":

CREATE EXTERNAL TABLE IF NOT EXISTS employee (eid int, name String, 
salary String, description String) 
COMMENT ‘Employee details’ 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ‘,’ 
LINES TERMINATED BY ‘\n’ 
STORED AS TEXTFILE; 

しかし、記述欄には、このような値を持っています。このため、ハイブテーブルへのデータのロードは適切ではありません。次に、sqoopingの間にコンマ以外の区切り文字でテキストファイルを作成する方法。

次に、Hiveの外部テーブルを作成するときにフィールドを区切る方法は?

答えて

2

デフォルトの区切り文字を避けたい場合は、Sqoopジョブで--fields-terminated-byを使用してください。

--fields-terminated-by - このパラメータは、出力のフィールド区切り文字として使用されます。

例:--fields-terminated-by |

、その後のフィールドがたくさんあなたの提案のためのFIELDS TERMINATED BY ‘|’

+0

おかげで、テーブルのステートメントを作成セパレータに変更。それは私のためにうまくいった。 –

関連する問題