2017-10-16 17 views
0

Étant donné que j'ai une rowkey qui se compose d'un client et d'une date, customer_timestamp, comment puis-je effectuer une opération Get qui produit une recherche avec les valeurs sparse données.Comment puis-je récupérer un ensemble de valeurs incomplètes pour une clé partielle partielle donnée?

par exemple. considérer que je donne les résultats suivants:

| rowkey  | cust/first_name | cust/last_name | cust/address | 
| ------------ | --------------- | -------------- | -------------- | 
| 012-20170701 |     |    | 12 Some Street | 
| 012-20170301 | Jenny   |    |    | 
| 012-20170101 | Jane   | Doe   |    | 

Comment puis-je effectuer une Get pour 012- qui renvoie les éléments suivants sans avoir à faire un scan à partir du préfixe ou; est un scan la seule solution?

| rowkey  | cust/first_name | cust/last_name | cust/address | 
| ------------ | --------------- | -------------- | -------------- | 
| 012   | Jenny   | Doe   | 12 Some Street | 

Répondre

0

Dans HBase, vous obtiendrez seulement une ligne. Dans votre cas, vous voulez plusieurs lignes d'une plage sur la touche de ligne. Dans ce cas, vous devriez faire un scan avec scan 't1', {STARTROW=>"012-",STOPROW=>"012-~"}

+0

Ta, je pense qu'une solution plus simple serait de sortir la date de la rowkey et d'utiliser la version cellulaire à la place? –

+0

Pensez-y, je ne pense pas que ce soit une bonne idée car je voudrais potentiellement plusieurs centaines de versions. Au lieu de cela, quel serait le coût associé à l'utilisation d'une approche d'analyse dans laquelle j'aurais besoin de balayer jusqu'à ce que j'aie toutes les valeurs éparses où une valeur de cellule peut ne pas être présente sur plusieurs centaines ou milliers de lignes? –

+0

Pouvez-vous donner un exemple pour les valeurs éparses? – RanP