Hadoop 配置单元如何存储sequencefile?

Hadoop 配置单元如何存储sequencefile?,hadoop,hive,Hadoop,Hive,有一个配置单元内部表存储为序列文件,第一列类型为string,字段分隔符为“\1”,我想直接使用Mapreduce处理它,并发现输入键是BytesWrite的。我的问题是hive如何在sequencefile中存储数据?我获取bytesWritable键的原因是因为第一列类型是string吗?我没有将map的键分隔符配置为“\1”,因此我对第二个问题感到困惑Hive没有将第一列视为SequenceFile的键。相反,钥匙被完全忽略了。因此,当您编写映射程序对配置单元SequenceFile进行操

有一个配置单元内部表存储为序列文件,第一列类型为string,字段分隔符为“\1”,我想直接使用Mapreduce处理它,并发现输入键是BytesWrite的。我的问题是hive如何在sequencefile中存储数据?我获取bytesWritable键的原因是因为第一列类型是string吗?我没有将map的键分隔符配置为“\1”,因此我对第二个问题感到困惑

Hive没有将第一列视为SequenceFile的键。相反,钥匙被完全忽略了。因此,当您编写映射程序对配置单元SequenceFile进行操作时,也应该忽略键。所有列都将是该值的一部分

如果您的值也是一个可写的
字节
,并且希望它是
文本
,请尝试
SequenceFileAsTextInputFormt
()。这个问题的答案可能会帮助你做好准备。您应该能够通过一个简单的
toString()
文本中获取
字符串。您的分隔符
'\1'
将在这里出现。在
'\1'
上拆分
字符串
,将其从配置单元中分离到列中