Nouveau sur Hadoop ...J'ai une série de répertoires HDFS avec la convention de dénomination filename.seq. Chaque répertoire contient un index, des données et un fichier bloom. Ceux-ci ont un contenu binaire et semblent être des SequenceFiles (SEQ démarre l'en-tête). Je veux connaître la structure / le schéma. Tout ce que je lis fait référence à la lecture d'un fichier de séquence individuel, donc je ne sais pas comment les lire ou comment ils ont été produits. Merci.
Mise à jour: j'ai essayé les outils recommandés pour le streaming et la sortie de texte sur les fichiers, aucun n'a fonctionné:
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
L'erreur était:
ERROR streaming.StreamJob: Job not successful. Error: NA
Réponses:
1 pour la réponse № 1L'en-tête SEQ confirme ce fichier de séquence hadoop. (Une chose que je n'ai jamais semblée est le fichier de floraison que vous avez mentionné.)
La structure / le schéma d'un fichier de séquence typique est:
- En-tête (version, classe de clé, classe de valeur, compression, code de compression, métadonnées)
- Record
- Longueur d'enregistrement
- Longueur clé
- Valeur clé
- Un marqueur de synchronisation tous les 100 octets environ.
Pour plus de détails:
- voir la description ici.
- Lecteur de fichiers de séquence et Comment lire un fichier séquentiel hadoop?