2016-05-02 4 views

Répondre

0

C'est ce que fait Hbase quand la région devient trop grande. Mais c'est un processus lent et cela affectera votre performance en écriture. La meilleure pratique consiste à présélectionner la région en fonction de votre modèle de données lors de la création de la base de données. Voici un petit fragment de code:

HTableDescriptor desc = new HTableDescriptor(tableName); // Tablename tablename 
HColumnDescriptor coldef = new HColumnDescriptor(Bytes.toBytes("CON")); 
desc.addFamily(coldef); // add the cf to the table 

// function to get all regions looking at the data 
// it is an array which stocks the prefix of each regions 
byte[][] regions = getRegions(); 
admin.createTable(desc, regions); 
+0

Impossible régions pré-split lorsque le système a fonctionné pendant plus de 3 ans. Nous avons éteint automatiquement la séparation et le moniteur. Mais il est bon de savoir que je peux diviser manuellement mes grandes régions en leur écrivant. Merci – Evan

+0

peut-être vous pouvez envisager de transférer les données vers un nouveau cluster maintenant que vous connaissez bien votre base de données. Avoir un bon équilibrage de région peut améliorer votre performance en écriture et lit – Whitefret

+0

et pour le découpage en direct regardez le fractionnement de force mais je ne pense pas qu'il soit recommandé – Whitefret