Cassandra cli: Convert Hex-Werte in ein lesbares Format
-
10-10-2019 - |
Frage
Starten Im mit cassandra , und als ich laufen list
oder get
Befehle in cassandra-cli , erhalte ich Ergebnisse wie folgt aus:
[default@usersdatabase] list users;
Using default limit of 100
-------------------
RowKey: boby
=> (column=6e616d65, value=426f62, timestamp=1294780856414000)
-------------------
RowKey: edzuksm
=> (column=656d61696c, value=6d617268656c697340696e626f782e6c76, timestamp=1294780533705000)
=> (column=6e616d65, value=45647561726473, timestamp=1294780488155000)
=> (column=7375726e616d65, value=4d617268656c6973, timestamp=1294780515429000)
2 Rows Returned.
Ich kann es nicht lesen, ich sehe nur Werte wie ‚6e616d65‘.
Wie kann ich die Werte in einem für Menschen lesbaren Format angezeigt werden?
Lösung
In der Standardeinstellung Spaltennamen und Spaltenwerte in Cassandra keinen Typ haben, sind sie nur Byte-Arrays. Wenn Sie für eine Komparator Klasse (Spaltenname Typ) oder Prüfklasse (Spaltenwert Typ), wird die CLI auf diese abholen und zeigen Ihnen die Datentypen in einer vernünftigen Format anstelle einer hex-Version des Byte-Array.
Wenn Sie nicht wollen, diese aktuellen Daten einzugeben, können Sie die CLI sagen, dass Spaltennamen zu übernehmen oder die Werte sind, um eine bestimmte Datentyp durch den assume
Befehl. Schlüssel nie einen Datentyp haben, so assume
verwendet dort werden muss, wenn Sie mit einigen Datentypen arbeiten möchten.
Hier ist die Hilfeinformationen für Verweis auf nehmen:
[default@Keyspace1] help assume;
assume <column_family> comparator as <type>;
assume <column_family> sub_comparator as <type>;
assume <column_family> validator as <type>;
assume <column_family> keys as <type>;
Assume one of the attributes (comparator, sub_comparator, validator or keys)
of the given column family to match specified type. Available types: bytes, integer,
long, lexicaluuid, timeuuid, utf8, ascii.
example:
assume Users comparator as lexicaluuid;
EDIT:. Ab Cassandra 0.8 können Sie angeben, ein Prüfklasse für Schlüssel, und die CLI macht automatisch Verwendung dieser Informationen