Database Reference
In-Depth Information
{ Zuerst erzeugen wir ein Scan -Objekt, über das wir die Wiki-Tabelle durch-
gehen.
| Um die Zeilen- und Spaltendaten zu extrahieren, müssen wir ein we-
nig mit den Bytes jonglieren, aber auch das ist generell nicht besonders
schwierig.
} Jedes Mal, wenn das linkpattern im Seitentext auftaucht, extrahieren
wir den Zielartikel und den Text des Links und fügen diese Werte dann
zu unseren Put -Instanzen hinzu.
~ Abschließend weisen wir die Tabelle an, die akkumulierte Put -Operatio-
nen auszuführen. Es ist möglich (wenn auch unwahrscheinlich), dass ein
Artikel keine Links enthält. Das ist der Grund für die if put _ to -Klausel.
Die Verwendung von setWriteToWAL(false) für diese Puts war eine be-
wusste Entscheidung. Da es sich um eine Übung mit didaktischem Hin-
tergrund handelt und weil wir das Skript einfach erneut ausführen kön-
nen, wenn etwas schiefgeht, entscheiden wir uns für den Geschwindig-
keitsvorteil und akzeptieren unser Schicksal, wenn der Knoten ausfallen
sollte.
Das Skript ausführen
Wenn Sie bereit sind und alle Vorsicht unbekümmert in den Wind schießen,
starten Sie das Skript.
${HBASE _ HOME}/bin/hbase shell generate _ wiki _ links.rb
Die Ausgabe sollte etwa so aussehen:
500 pages processed (10 petametres)
1000 pages processed (1259)
1500 pages processed (1471 BC)
2000 pages processed (1683)
...
Genau wie das vorige Skript können Sie es so lange laufen lassen, wie Sie
wollen, sogar bis zum Ende. Wenn Sie es unterbrechen wollen, drücken Sie
Ctrl + C .
Sie können die Plattennutzung des Skripts wie vorhin mit du überwachen. Sie
werden neue Einträge für die von uns angelegte links -Tabelle finden und die
Größen nehmen ständig zu, je länger das Skript läuft.
Search WWH ::




Custom Search