2014-12-24 70 views

回答

0

假設你在/ ex-seqdata/part-000中有hdfs中的序列數據... 所以part- *數據是二進制格式的。 現在,您可以在命令提示符下運行命令hadoop fs -text/ex-seqdata/part * 以獲取可讀的格式的數據。

1

我認爲你可以在代碼的幾行創建SequenceFile讀者如下

public static void main(String[] args) throws IOException { 
    String uri = "path/to/your/sequence/file"; 
    Configuration conf = new Configuration(); 
    FileSystem fs = FileSystem.get(URI.create(uri), conf); 
    Path path = new Path(uri); 

    SequenceFile.Reader reader = null; 
    try { 
     reader = new SequenceFile.Reader(fs, path, conf); 
     Writable key = (Writable) ReflectionUtils.newInstance(
        reader.getKeyClass(), conf); 
     Writable value = (Writable) ReflectionUtils.newInstance(
        reader.getValueClass(), conf); 
     long position = reader.getPosition(); 
     while (reader.next(key, value)) { 
       System.out.println("Key: " + key + " value:" + value); 
       position = reader.getPosition(); 
      } 
     } finally { 
      reader.close(); 
    } 
} 
相關問題