JSON mit Cassandra verwenden

JSON mit Cassandra verwenden

  • Orchestrierung
6 Minuten Lesezeit Aktualisiert Jan 2, 2019

Auf einen Blick: Die Verwendung von JSON mit Cassandra ermöglicht ein flexibles Datenmanagement, indem Benutzer Daten im JSON-Format schreiben können. Der Leitfaden enthält Beispiele für das Erstellen von Schlüsselräumen und Tabellen, das Einfügen von Daten und das Abfragen mit JSON-Syntax.

  • Unterstützt das Speichern und Schreiben von Daten im JSON-Format.
  • Enthält Beispiele für das Erstellen von Tabellen und das Einfügen von Datensätzen mit JSON-Syntax.

Cassandra unterstützt JSON. Natürlich können Sie JSON-Text in Cassandra-Textspalten speichern. Aber das meinen wir hier nicht. Hier meinen wir, dass Sie JSON verwenden können, um in Cassandra-Tabellen zu schreiben.

Wir veranschaulichen das mit einem Beispiel. Zuerst erstellen Sie einen Schlüsselraum.

    create keyspace json with REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor' : 2 };

Einfaches JSON-Beispiel

Lassen Sie uns eine Tabelle mit drei Spalten erstellen. Dann schreiben wir Daten mit dem JSON-Schlüsselwort hinein. Das sagt Cassandra, die JSON-Werte auf die Spaltennamen abzubilden, genau wie man es bei JSON erwarten würde.

    create table books (isbn text primary key, title text, publisher text);

insert into books JSON '{"isbn": "123", 
"title": "The Magic Mountain",
 "publisher": "Knofp"}';

Dann listen wir die Daten auf. Es sieht aus wie reguläre Spaltendaten und nicht wie JSON. Weil es einfach reguläre Daten sind. Wir haben einfach JSON verwendet, um sie hinzuzufügen, was nützlich ist, da Daten oft als JSON dargestellt werden.

    select * from books;

 isbn | publisher | title
------+-----------+--------------------
  123 |     Knofp | The Magic Mountain

Verschachteltes JSON

Hier ist ein komplizierteres Beispiel. Wir haben einen Kundeneintrag mit einem Verkaufstyp, der eine Typliste hat. Offensichtlich hätte ein Kunde mehrere Verkäufe. Das ist also eine gute Möglichkeit, das darzustellen.

Zuerst erstellen wir den Verkaufstyp. Dann erstellen wir die Kundentabelle. Wir müssen das Schlüsselwort FROZEN verwenden, da jede Verkaufstransaktion nicht geändert werden kann, d.h. sie ist unveränderlich. Wenn Sie eine Verkaufstransaktion ändern wollen, müssten Sie sie löschen und dann wieder hinzufügen.

    use json;

CREATE type json.sale ( id int, item text, amount int );

CREATE TABLE json.customers ( id int  PRIMARY KEY, name text, balance int, sales list> );

Jetzt addiere Werte. Da die Verkaufsartikel eine Liste sind, können wir mehr als einen hinzufügen.

    INSERT INTO json.customers (id, name, balance, sales) 
VALUES (123, 'Greenville Hardware', 700,
 [{ id: 5544, item : 'tape', amount : 100},
  { id: 5545, item : 'wire', amount : 200}]) ;

Listen Sie nun die Elemente auf. Beachten Sie, dass es kein Fragezeichen um den Schlüsselwert im jSON gibt. Das liegt daran, dass es sich um ein JSON-Objekt handelt.

    select * from customers;

 id  | balance | name                | sales
-----+---------+---------------------+--------------------------------------------------------------------------------
 123 |     700 | Greenville Hardware | [{id: 5544, item: 'tape', amount: 100}, {id: 5545, item: 'wire', amount: 200}]

Wenn du es in einen JSON-String umwandeln willst, dann benutze toJson()

    select id, toJson(sales) from customers;

 id  | system.tojson(sales)
-----+--------------------------------------------------------------------------------------------
 123 | [{"id": 5544, "item": "tape", "amount": 100}, {"id": 5545, "item": "wire", "amount": 200}]

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Orchestrierung

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.