Hi: ALL

I encounter a problem, any suggestion will be appreciated!
MY hive version is 0.30.0
I create a table in CLI.
CREATE TABLE table2 (boo int,bar string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe'
WITH SERDEPROPERTIES (
'serialization.format'=org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol')
STORED AS TEXTFILE;
Then a load some data to  table2.
INSERT OVERWRITE TABLE table2 SELECT foo,bar from pokes.
Everything is OK. Also , i can issue queries against table2.

But, when i change the protocol to TBinaryProtocol,


CREATE TABLE table1 (boo int,bar string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe'
WITH SERDEPROPERTIES (
'serialization.format'='org.apache.thrift.protocol.TBinaryProtocol')
STORED AS TEXTFILE;

then load some data to table1 ,there is some error ,the loading process
can't be completed.

java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException:
org.apache.thrift.transport.TTransportException: Cannot read. Remote side
has closed. Tried to read 1 bytes, but only got 0 bytes. at
org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:182) at
org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50) at
org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358) at
org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) at
org.apache.hadoop.mapred.Child.main(Child.java:170) Caused by:
org.apache.hadoop.hive.ql.metadata.HiveException:
org.apache.hadoop.hive.serde2.SerDeException:
org.apache.thrift.transport.TTransportException: Cannot read. Remote side
has closed. Tried to read 1 bytes, but only got 0 bytes. at
org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:328) at
org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:165) ... 4
more Caused by: org.apache.hadoop.hive.serde2.SerDeException:
org.apache.thrift.transport.TTransportException: Cannot read. Remote side
has closed. Tried to read 1 bytes, but only got 0 bytes. at
org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe.deserialize(DynamicSerDe.java:135)
at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:319)
... 5 more Caused by: org.apache.thrift.transport.TTransportException:
Cannot read. Remote side has closed. Tried to read 1 bytes, but only got 0
bytes. at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
at
org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
at
org.apache.thrift.protocol.TBinaryProtocol.readByte(TBinaryProtocol.java:247)
at
org.apache.thrift.protocol.TBinaryProtocol.readFieldBegin(TBinaryProtocol.java:216)
at
org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDeFieldList.deserialize(DynamicSerDeFieldList.java:163)
at
org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDeStructBase.deserialize(DynamicSerDeStructBase.java:59)
at
org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe.deserialize(DynamicSerDe.java:131)
... 6 more


If there is something wrong with TBinaryProtocol?



-- 
Best Regards
Anty Rao

Reply via email to