在查询存储为sequencefile格式的表时,我遇到了一个有关配置单元表中的二进制数据的问题。
我使用sqoop从指定了以下选项的数据库导入数据:
--as-sequencefile --fields-terminated-by '\001' --null-string '\\N' --null-non-string '
创建了一个配置单元外部表以指向我导入db数据的位置:
CREATE EXTERNAL TABLE if not exists Test(
test_id string,
s_date timestamp)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
STORED AS sequencefile
LOCATION '<location where i importedsqoop data>
我认为我的配置单元选项卡将反序列化数据并以可读格式显示数据,但我将数据视为二进制或不可读的foramt。
为了让配置单元反序列化数据,是否还需要执行其他步骤?
谢谢您。尼什。
2条答案
按热度按时间u4vypkhs1#
您还必须声明输入和输出格式。创建如下表:
zsbz8rwp2#
似乎sqoop的序列文件输出与序列文件的配置单元默认serde不兼容。您可能需要一个github项目hivesqoopserde。