Database Reference
In-Depth Information
hbase> disable 'wiki'
0 row(s) in 1.0930 seconds
Nun können wir die Charakteristika der Spaltenfamilie mit dem alter -Befehl
ändern.
hbase> alter 'wiki', { NAME => 'text', VERSIONS =>
hbase * org.apache.hadoop.hbase.HConstants::ALL _ VERSIONS }
0 row(s) in 0.0430 seconds
Hier weisen wir HBase an, für die Spaltenfamilie text das VERSIONS -Attribut
zu ändern. Es gibt eine Reihe anderer Attribute, die wir setzen können, von
denen wir einige am zweiten Tag behandeln werden. Die hbase * -Zeile ist eine
Fortsetzung der vorherigen Zeile.
Eine Tabelle ändern
Operationen, die die Charakteristika der Spaltenfamilie ändern, können sehr
teuer werden, weil HBase eine neue Spaltenfamilie mit der gewählten Spe-
zifikation erzeugen und dann alle Daten kopieren muss. Bei einem Produk-
tivsystem kann das zu signifikanten Ausfallzeiten führen. Aus diesem Grund
ist es eine gute Idee, die Optionen einer Spaltenfamilie im Vorfeld festzulegen.
Während die Wiki-Tabelle noch deaktiviert ist, wollen wir die Spaltenfamilie
revision einfügen. Dazu verwenden wir ebenfalls den alter -Befehl:
hbase> alter 'wiki', { NAME => 'revision', VERSIONS =>
hbase * org.apache.hadoop.hbase.HConstants::ALL _ VERSIONS }
0 row(s) in 0.0660 seconds
Genau wie bei der text -Familie haben wir nur eine revision - Spaltenfamilie
in das Tabellenschema eingefügt, keine individuellen Spalten . Auch wenn
wir davon ausgehen, dass jede Zeile letztlich revision:author und revisi-
on:comment enthält, liegt es am Client, diese Erwartung zu erfüllen. In einem
formalen Schema festgelegt ist das nicht. Wenn jemand revision:foo für eine
Seite speichern möchte, wird HBase ihn nicht aufhalten.
Weiter geht's
Nachdem wir unser Schema entsprechend erweitert haben, aktivieren wir
unser Wiki wieder:
hbase> enable 'wiki'
0 row(s) in 0.0550 seconds
Search WWH ::




Custom Search