Werte Ich verwende Hbase API Setzen Sie einen langen Datentyp Hbase mit dem folgenden CodeHBase Java-API zu schreiben, lange statt Hexadezimal
p.add(Bytes.toBytes(this.hcol_fam_n), Bytes.toBytes(this.hcol_qual_n), Bytes.toBytes(this.newoffset));
zu schreiben, wenn ich einen Scan-Befehl auf Hbase Shell ausgeführt, die Werte in hex-Format von binären Darstellung angezeigt
value=\x00\x00\x00\x00\x00\x00\x00\x07
Aber wenn ich legte Anweisung von Hbase Shell verwenden, zeigt es richtig als „7“. Warum ist dieser Unterschied? Und gibt es eine Möglichkeit, den Wert zu schreiben, ohne Bytes.toBytes zu verwenden, um in Hbase zu schreiben, damit ich den Wert ordnungsgemäß von Hbase-Shell sehen kann?
Wenn es keine andere Möglichkeit gibt, den Wert in lesbarer Form in der HBase-Shell zu schreiben, wie kann man hier das Java Bytes.toString
für diese Spalte in der scan-Anweisung aufrufen?
Und wenn ich den gleichen Wert lesen mit Hbase API, ich bin nicht in der Lage Wert von Bytes in String zu konvertieren Bytes.toString(value)
Das gibt mir Null-String verwenden. Aber der gleiche Wert wird in Long konvertiert mit Bytes.toLong(value)
Kann mir bitte jemand helfen zu verstehen, warum dies nicht zu String, sondern zu Long konvertiert?
"Aber wenn ich Put-Anweisung von Hbase Shell verwenden", indem Sie das sagen, was ist Ihre Aussage? –