带有索引,数据和bloom文件的Hadoop seq目录 - 如何阅读?

时间:2013-05-27 20:50:03

标签: hadoop hdfs

Hadoop新手......我有一系列HDFS目录,命名约定为filename.seq。每个目录都包含索引,数据和bloom文件。它们具有二进制内容并且看起来是SequenceFiles(SEQ开始标题)。我想知道结构/架构。我读到的所有内容都是指读取单个序列文件,因此我不确定如何阅读这些文件或如何生成它们。感谢。

更新:我尝试过推荐的流式传输工具输出文件上的文字,没有工作:

hadoop fs -text /path/to/hdfs-filename.seq/data | head

hadoop jar /usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.0.0-mr1-cdh4.1.2.jar \
-input /path/to/hdfs-filename.seq/data \
-output /tmp/outputfile \
-mapper "/bin/cat" \
-reducer "/bin/wc -l" \
-inputformat SequenceFileAsTextInputFormat

错误是:

ERROR streaming.StreamJob: Job not successful. Error: NA

1 个答案:

答案 0 :(得分:1)

SEQ标题确认hadoop序列文件。 (我从未想过的一件事是你提到的bloom文件。)

典型Sequence文件的结构/模式是:

  • 标题(版本,密钥类,值类,压缩,压缩代码,元数据)
  • 记录
  • 记录长度
  • 密钥长度
  • 键值
  • 同步标记,每隔几百个字节左右。

更多详情:

  1. 请参阅说明here
  2. Sequence file readerHow to read hadoop sequential file?