Verwendung von hbase-client v. 1.1.2.Was ist die empfohlene Methode zum Ändern des Tabellennamens in einem HTableDescriptor?
Die HTableDescriptor
API bietet 2 öffentliche Konstrukteuren:
public HTableDescriptor(final TableName name) {...
...
public HTableDescriptor(final HTableDescriptor desc) {...
Und 2 veraltete Methoden zum Ändern des Tabellennamen:
@Deprecated
public HTableDescriptor setName(byte[] name) {
setName(TableName.valueOf(name));
return this;
}
@Deprecated
public HTableDescriptor setName(TableName name) {
this.name = name;
setMetaFlags(this.name);
return this;
}
ohne Kommentare über das, was der Benutzer stattdessen tun sollte.
So klonen ein HTableDescriptor
, Optionen sind (a) mit dem ersten ctor und kopieren Sie alle Felder über Hand oder (b) verwenden Sie den zweiten Ctor und verwenden Sie einfach die veraltete Methode, um den Tabellennamen zu ändern.
Was ist der empfohlene Weg, dies zu tun? Warum scheint die API den Namen nicht direkt zu ändern, außer über ctor?
Leider habe ich 1,12 bin mit, die diese Ctor nicht aus irgendeinem Grund enthalten. – jordanpg
@jordanpg Nun, wenn Sie sich den github-Code anschauen, werden Sie sehen, dass sogar im veralteten Modus des Master-Zweigs die einzige Möglichkeit ist, den Tabellennamen zu ändern. – AdamSkywalker