我想创建一个外部配置单元表,其中包含要通过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://...';
我有一个包含idl类的Jar,我怎样才能在这里提供jar名称?我该怎么办?添加jar&#39;?我该如何选择serde和序列化格式?
答案 0 :(得分:0)
在这里添加jar工作。但现在我又收到了另一个错误
FAILED:SemanticException org.apache.hadoop.hive.serde2.SerDeException:LazySimpleSerde支持的嵌套级别数为7无法使用级别8.对表使用hive.serialization.extend.nesting.levels serde属性LazySimpleSerde。
即使将hive.serialization.extend.nesting.levels设置为true,也无法解决此问题。