1
我一直在尋找解析器來將生成的序列文件(.seq)轉換爲普通文本文件,以瞭解中間輸出。我很高興知道是否有人遇到過如何做到這一點。如何將在mahout中生成的序列文件轉換爲文本文件
我一直在尋找解析器來將生成的序列文件(.seq)轉換爲普通文本文件,以瞭解中間輸出。我很高興知道是否有人遇到過如何做到這一點。如何將在mahout中生成的序列文件轉換爲文本文件
假設你在/ ex-seqdata/part-000中有hdfs中的序列數據... 所以part- *數據是二進制格式的。 現在,您可以在命令提示符下運行命令hadoop fs -text/ex-seqdata/part * 以獲取可讀的格式的數據。
我認爲你可以在代碼的幾行創建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();
}
}