在查询以 Sequencefile 格式存储的表时,我在 Hive 表中看到的二进制数据存在问题。
我使用 Sqoop 从数据库导入数据,指定了以下选项:
--as-sequencefile --fields-terminated-by '\001' --null-string '\\N' --null-non-string '
创建了一个 Hive 外部表来指向我导入数据库数据的位置:
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>
我认为我的 Hive tabe 会反序列化数据并以可读格式显示数据,但我将数据视为二进制或不可读格式。
我是否需要执行更多步骤才能使 hive 反序列化数据?
谢谢。尼什。
最佳答案
Sqoop 的序列文件输出似乎与 Hive 默认的序列文件 SerDe 不兼容。有一个Github项目Hive-Sqoop-Serde这可能就是您所需要的。
关于hadoop - Hive 读取序列文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804160/