Question

J'utilise actuellement des tâches hadoop mapreduce avec des SequenceFiles d'écritures.Le même type Writable est également utilisé pour la sérialisation dans les parties du système non liées à Hadoop.

Cette méthode est difficile à maintenir, principalement en raison du manque de schéma et de la nécessité d'une gestion manuelle des modifications de version.

Il semble qu'Apache Avro gère ces problèmes.

Le problème est que lors de la migration, j'aurai des données dans les deux formats.existe-t-il un moyen simple de gérer la migration ?

Était-ce utile?

La solution

En règle générale, rien ne vous empêche d'utiliser des données et des séquences d'avreurs interchangeables. Utilisez tout Inparformat nécessaire pour le type de données dont vous avez besoin et pour la sortie, il est logique d'utiliser des formats d'avreurs chaque fois que pratiques. Si votre entrée est disponible dans différents formats, jetez un coup d'œil à multi-unets . Essentiellement, vous devrez toujours mettre en œuvre des mappeurs distincts, mais il faut être démontré compte tenu de la clé d'entrée de carte / la valeur différente.

Déménager à Avro est un geste sage. Si vous avez la capacité dans le temps et le matériel, cela pourrait même valoir la peine de convertir explicitement vos données de la séquencefile à Avro immédiatement. Vous pouvez utiliser n'importe quelle langue prise en charge par Avro qui prend également en charge les séquences pour le faire. Java fait certainement (clairement), mais le porc est également assez pratique pour le faire.

Le projet de piggybank fournie par l'utilisateur a une fonctionnalité de lecture d'un fichier séquence, puis il s'agit simplement d'utiliser Avrostorage depuis le même projet de la tirelire avec le système d'avroi approprié pour obtenir votre fichier d'avroi.

Si seulement cochon supporté de charger des schémas avreurs à partir de fichier ..! Si vous utilisez un cochon, vous devez malheureusement former des scripts qui contiennent explicitement le schéma d'avroi, qui peut être un peu ennuyeux.

Autres conseils

Je ne l'ai pas essayé moi-même, mais peut-être en utilisant AvroSequenceFile le format aiderait.C'est juste un emballage SequenceFile donc en théorie, vous devriez être capable d'écrire des données à la fois dans votre ancien SequenceFile format ainsi que votre nouveau Avro format qui devrait faciliter la migration.

Voici Plus d'information à propos de ce format.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top