L'exécution de Porc requête sur les données stockées dans la Ruche
Je voudrais savoir comment faire pour exécuter des requêtes hive stocké dans la Ruche format. J'ai configuré la Ruche pour stocker des données compressées (à l'aide de ce tutoriel http://wiki.apache.org/hadoop/Hive/CompressedStorage).
Avant que j'ai utilisé juste normal d'utilisation de Porc la fonction de charge avec la Ruche du séparateur (^A). Mais maintenant, la Ruche stocke les données dans des fichiers de séquence avec la compression. Qui charge la fonction à utiliser?
Remarque qui n'ont pas besoin de fermer l'intégration comme mentionné ici: L'aide de la Ruche avec de Porc, juste ce que la fonction de charge à utiliser pour lire compressé les fichiers de séquence généré par Ruche.
Merci pour toutes les réponses.
Vous devez vous connecter pour publier un commentaire.
Voici ce que j'ai trouvé:
À l'aide de HiveColumnarLoader a de sens que si vous stockez des données comme un RCFile. À la table de chargement à l'aide de cette fonction, vous devez enregistrer certains pots d'abord:
Pour charger des données à partir de fichiers de Séquence, vous devez utiliser Tirelire (comme dans l'exemple précédent). SequenceFile chargeur de Banque doit gérer des fichiers compressés:
Cela ne fonctionne pas avec Cochon de 0,7 parce qu'il est incapable de lire BytesWritable type le et jette-le à la de Porc de type et vous obtenez cette exception:
Comment compiler tirelire est décrit ici: Incapable de construire tirelire -> /home/build/ivy/lib n'existe pas