2017-06-23 3 views
1

HDQにSqoopを使用してインポートされたデータがあります。データはORCとしてインポートされ、圧縮はスナッピーです。シリアライザを指定するORCが機能しない

私はこのデータの上に次のDDLステートメントでテーブルを作成しようとしています。しかし、私は次のエラーが発生しています。 SemanticException [エラー10043]:列のいずれかのリストまたは カスタム・シリアライザが

を指定する必要がありますしかし、私はROW FORMAT SERDE and STORED AS INPUTFORMAT and OUTPUTFORMAT

DDLを定義することで、 "カスタム・シリアライザ" を定義していますがFAILED

STATEMENT:

CREATE EXTERNAL TABLE test_db.my_table_orc 
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' 
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' 
LOCATION '/hdfs/app/DL/ORC_DATA_LOCATION' 
tblproperties ("orc.compress"="SNAPPY"); 

答えて

1

ハイブは現在、DDLの列リストを指定せずにORCテーブルの作成をサポートできません。 ORCファイルには列のメタデータが含まれているため、特定のORCファイルの列が不明な場合は、ORC File Dump Utilityを実行して取得することができます。

1
  1. 番目の定義テーブルの列。
  2. 入力/出力フォーマットは不要です。 stored as orcで十分です。
+0

お返事ありがとうございます。手で列を定義するのに時間がかかります。私のテーブルは非常に幅広く、列はたくさんあります:) – user2159301

+1

https://community.hortonworks.com/questions/7042/orc-table-creation-without-column-details.html –

関連する問題