Novo no Hadoop ...Eu tenho uma série de diretórios HDFS com a convenção de nomenclatura filename.seq. Cada diretório contém um arquivo de índice, dados e bloom. Eles possuem conteúdo binário e parecem ser SequenceFiles (o SEQ inicia o cabeçalho). Eu quero conhecer a estrutura / esquema. Tudo o que leio se refere à leitura de um arquivo de sequência individual, por isso não sei como lê-los ou como foram produzidos. Obrigado.
Atualização: eu tentei as ferramentas recomendadas para streaming e saída de texto nos arquivos, nenhuma funcionou:
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
Erro foi:
ERROR streaming.StreamJob: Job not successful. Error: NA
Respostas:
1 para resposta № 1O cabeçalho SEQ confirma esse arquivo de sequência hadoop. (Uma coisa que eu nunca pareço é o arquivo bloom que você mencionou.)
A estrutura / esquema de um arquivo de sequência típico é:
- Cabeçalho (versão, classe de chave, classe de valor, compactação, código de compactação, metadados)
- Registro
- Comprimento do registro
- Comprimento chave
- Valor chave
- Um marcador de sincronização a cada 100 bytes, aproximadamente.
Para mais detalhes:
- veja a descrição Aqui.
- Leitor de arquivos de sequência e Como ler o arquivo seqüencial hadoop?