Serialization 如何让配置单元在配置单元HBase表中以二进制格式序列化结构类型?
在基于HBase的配置单元表中,我没有将结构类型序列化为二进制格式。考虑下面的例子。 首先,我创建表并插入一行Serialization 如何让配置单元在配置单元HBase表中以二进制格式序列化结构类型?,serialization,struct,hive,binary,hbase,Serialization,Struct,Hive,Binary,Hbase,在基于HBase的配置单元表中,我没有将结构类型序列化为二进制格式。考虑下面的例子。 首先,我创建表并插入一行 CREATE TABLE `hbase_test_1`( `key` struct<a:int, b:int>, `int_val` int, `double_val` double, `complex` struct<a:int, b:string, c:double>) ROW FORMAT SERDE 'org.apache.hadoo
CREATE TABLE `hbase_test_1`(
`key` struct<a:int, b:int>,
`int_val` int,
`double_val` double,
`complex` struct<a:int, b:string, c:double>)
ROW FORMAT SERDE
'org.apache.hadoop.hive.hbase.HBaseSerDe'
STORED BY
'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
'hbase.columns.mapping'=':key#b,f:d,f:i,f:c#b',
'hbase.table.default.storage.type'='binary',
'serialization.format'='1')
TBLPROPERTIES (
'hbase.table.name' = 'hbase_test_1');
insert into hbase_test_1
select * from
(select named_struct('a', 1234, 'b', 5), 89102, 107., named_struct('a', 12, 'b', 'foo', 'c', 3.4)) t;
两个结构(行键和另一个)都不是以二进制格式序列化的。我怎样才能改变这种行为
scan 'hbase_test_1'
ROW COLUMN+CELL
1234\x025 column=f:c, timestamp=1545906554580, value=12\x02foo\x023.4
1234\x025 column=f:d, timestamp=1545906554580, value=\x00\x01\x5C\x0E
1234\x025 column=f:i, timestamp=1545906554580, value=@Z\xC0\x00\x00\x00\x00\x00