hadoop - Hive 读取序列文件

标签 hadoop hive

在查询以 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/

相关文章:

scala - 如何在Scala(Spark)中比较两个数据框中的列

sql - 是否可以更改Hive中分区表上的列的元数据?

json - 将多行 JSON 数据加载到 HIVE 表中

count - Hive 对 map 数组的不同计数

hadoop - 从hbase读取数据,工作人员是否需要从远程驱动程序获取分区数据?

hadoop - Cloudera Manager从何处获得Impala命令的--hostname值?

xml - 在 Hive 中使用 XMLSerDe 进行 XML 文件配对的问题

mysql - 对约 60GB 的日志文件运行数千个查询

database - 如何在不进行查询的情况下估计 HIVE 中的表大小?

shell - 使用.sh文件中的-e选项运行hiveql的奇怪问题