2 votes

Comment générer automatiquement un RowId dans un programme Hbase MapReduce ?

J'ai besoin de charger un fichier de données dans une table Hbase. J'ai cherché quelques exemples et avec ces exemples j'ai essayé de lire un fichier et de le charger dans Hbase. mais seulement la première ligne est lue. seulement une ligne de données est lue, j'ai besoin de lire toutes les données, je ne sais pas où je me suis trompé. J'ai le fichier dans ce format

year  class    days   mm   
   1964   9     20.5     8.8          
   1964  10     13.6     4.2      
   1964  11     11.8     4.7     
   1964  12      7.7     0.1       
   1965   1      7.3     0.8       
   1965   2     6.5     0.1         
   1965   3     10.8     1.4         
   1965   4     13.2     3.5         
   1965   5     16.1     7.0         
   1965   6     19.0     9.2          
   1965   7     18.7    10.7       
   1965   8     19.9    10.9          
   1965   9      16.6     8.2 

S'il vous plaît, quelqu'un peut-il me corriger, où je me suis trompé, je dois charger toutes les données contenues dans le fichier, mais je ne peux charger que la première ligne de données.

1voto

Ruslan Points 196

https://github.com/imyousuf/smart-dao/tree/hbase/smart-hbase/hbase-auto-long-rowid-incrementor/ Je ne l'ai pas testé, mais il semble que ce soit ce que vous recherchez.

Aussi, regardez Hbase incrémente automatiquement toute clé de colonne/rangée

Les clés de rangées augmentant de manière monolithique ne sont pas recommandées dans HBase, voir ceci pour référence : http://hbase.apache.org/book/rowkey.design.html , p.6.3.2. En fait, l'utilisation de clés de rangées ordonnées au niveau mondial ferait que toutes les instances de votre application distribuée écrivent dans la même région, ce qui deviendra un goulot d'étranglement.

0voto

Ran Points 1

Je suppose que c'est parce que les rowkeys de votre table prennent par défaut la valeur de la première colonne qui est 'year' donc hbase ne la lira qu'une fois puisqu'une rowkey ne peut pas être dupliquée. Essayez de définir votre rowkey à une colonne différente.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X