2013-02-13 3 views
8

In der HBase Schale zu schaffen, die Hilfedatei zeigt uns, dass es mehrere zulässige Syntax für die Erstellung einer Tabelle:Wie kann ich die Hbase Shell verwenden, um eine Tabelle mit Pre Splitting und Kompression oder andere Optionen

create 'tableName', {NAME => 'colFamily', VERSIONS => 5 } 
create 'tableName', {NAME => 'cf1'}, {NAME => 'cf2'} 
create 'tableName', 'cf1', 'cf2', 'cf3' 
create 'tableName', 'cf1', {SPLITS => ['10','20','30','40']} 

Ich möchte eine Tabelle erstellen, in der ich sowohl eine Split- als auch einige Tabellenoptionen, wie COMPRESSION => 'SNAPPY' und VERSIONS, spezifiziere, aber ich kann die Syntax nicht herausfinden oder brauchbare Dokumentation finden.

Antwort

13

Was nach dem Experimentieren schließlich klar wurde, war, dass die Shell-Syntax eine Reihe von Column Family-Wörterbüchern akzeptiert und das SPLIT-Dictionary ein eigenes Tier ist (was sinnvoll ist, da es die gesamte Tabelle und nicht nur eine bestimmte Spaltenfamilie verändert) .

würde also sein ein zusätzliches nützliches Beispiel zu haben: aus der Säule Familie Wörterbuch

create 'tableName', {NAME => 'colFam', VERSIONS => 2, COMPRESSION => 'SNAPPY'}, 
    {SPLITS => ['333','666','FOO']} 

Beachten Sie, dass die Splits Wörterbuch getrennt ist, vermutlich wir noch eine Reihe von Spalten Familien geben könnten und dann mit dem Ende Splits Wörterbuch