2017-12-26 17 views
0

ThriftSerDeを通じて生成されるスキーマを持つ外部ハイブ・テーブルを作成したいとします。私はそれを行う例を見つけることができません。私が考えたことは、それは何かのようになる可能性がありますリフト・テーブルを使用してハイブ・テーブルを作成

CREATE EXTERNAL TABLE IF NOT EXISTS <table name> 
ROW FORMAT SERDE 
'org.apache.hadoop.hive.serde2.thrift.ThriftByteStreamTypedSerDe' 
WITH serdeproperties (
"serialization.class"="<IDL Class>", 
"serialization.format"="org.apache.thrift.protocol.TBinaryProtocol" 
) 
Partitioned by (...) 
LOCATION 's3n://...'; 

私はここにjarの名前を付けることができますか?私は 'jar'を追加する必要がありますか?どのようにserdeとシリアル化形式を選択する必要がありますか?

答えて

0

jarをここに追加します。しかし今、別のエラーが発生しています

FAILED:SemanticException org.apache.hadoop.hive.serde2.SerDeException:LazySimpleSerdeでサポートされているネストレベルの数が7です。レベル8で作業できません。hive.serialization.extendを使用してください。 LazySimpleSerdeを使用するテーブルのnesting.levels serdeプロパティ。

hive.serialization.extend.nesting.levelsをtrueに設定しても、これは解決されませんでした。

+0

set hive.serialization.extend.nesting.levels = trueによってシリアル化例外が解決されました。 – priyanka

関連する問題