2010-07-20 7 views
1

Fondamentalement, j'ai besoin de router les données vers le réducteur de droite. Chaque Réducteur sera un TableReducer.a Réducteur par table HBase

J'ai le fichier suivant

venodor1, user1, xxxx = n venodor1, user1, xxxx = n venodor2, utilisateur2, xxxx = n venodor2, utilisateur2, xxxx = n

I besoin d'insérer que dans les tableaux suivants Hbase

Tableau Fournisseur1: [uSER1] => {data: xxxx = n} [user2] => {data: xxxx = n}

Tableau vendor2: [USER1] => {data: xxxx = n} [user2] => {data: xxxx = n}

Format est [ROW_ID] => {[Famille]: [COLUMN] = [VALUE]}

  • chaque fournisseur a une autre table HBase
  • lignes doivent aller à différentes tables de base de Hbase sur une valeur dans la ligne.

Existe-t-il un moyen de faire cela? Avec Cascading? Y a-t-il un autre travail autour de ça?

Merci, Federico

Répondre

0

Je trouve la manière ... Laisser le réducteur de manipuler les tables. Au lieu d'utiliser un TableReducer, utilisez simplement un réducteur. Lors de l'installation, chargez les tables (les tables doivent être des propriétés) définissez le paramètre auto flush sur false et définissez une taille de mémoire tampon. Lors du nettoyage flushCommit() sur toutes les tables. La sortie du réducteur doit être NullWritable pour Key et Value (à moins que vous ne vouliez produire quelque chose). Sur réduire Juste faire table1.put tabe2.put etc

Mise en œuvre TableReducer c'est faire quelque chose comme ça sous le capot pour une table.

Questions connexes