Apache Cassandra fornisce un supporto nativo per l'inserimento e il recupero dei dati da una tabella utilizzando il formato JSON. JSON è un formato popolare e prezioso per lo scambio di dati che è ampiamente utilizzato nelle API e nei database.
In questo articolo, imparerai come selezionare le righe da una tabella Cassandra in formato JSON.
Creazione di dati di esempio
Iniziamo impostando un dati di esempio per scopi di illustrazione:
Crea spazio di keys
Prima di impostare tutti i dati di esempio, abbiamo bisogno di un database per archiviare i dati. Possiamo farlo creando uno spazio di chiavi di esempio.
La query è come prevista da segue:
CQLSH> Crea Store Keyspace con replication = 'class': 'SimpleStrategy', 'Replication_Factor': 3;
La query precedente crea uno spazio di tastiera semplice chiamato Store con una replica_factor di 3. Se non hai familiarità con i semi di tasti Cassandra, dai un'occhiata al nostro tutorial sull'argomento per saperne di più.
Una volta creati, possiamo passare allo spazio di tastiera con il seguente comando:
CQLSH> Usa Store;
Crea tabella
Il prossimo passo è creare una tabella che contiene la struttura per i nostri dati. Tieni presente che Cassandra può gestire i dati non strutturati. Tuttavia, per semplicità, tenteremo di utilizzare una struttura da tavolo.
Possiamo eseguire la query come mostrato:
CQLSH: Store> Crea un'inventario delle tabelle (Product_id Int, Product_Name Testo, quantità int, prezzo int, disponibilità booleana, chiave primaria (Product_id));
La query precedente dovrebbe creare una tabella di inventario con le colonne e i tipi di dati specificati.
CQLSH: Store> INSERT IN INVENTRIA (Product_id, Product_Name, quantità, prezzo, disponibilità)
... valori (1, "meta mischia", 5, 399, vero);
CQLSH: Store> INSERT IN INVENTRIA (Product_id, Product_Name, quantità, prezzo, disponibilità) Valori (2, 'echo dot', 10, 27, true);
CQLSH: Store> INSERT IN INVENTRIA (Product_id, Product_Name, quantità, prezzo, disponibilità) Valori (3, 'Tile Pro', 10, 26, false);
CQLSH: Store> INSERT IN INVENTRIA (Product_id, Product_Name, quantità, prezzo, disponibilità) Valori (4, 'Monitor', 100, 499, false);
CQLSH: Store> INSERT IN INVENTRIA (Product_id, Product_Name, quantità, prezzo, disponibilità) Valori (5, 'Laptop', 87, 700, true);
Possiamo quindi interrogare il tavolo come:
Seleziona * dall'inventario;
La query precedente dovrebbe restituire i record memorizzati nella tabella come mostrato:
Dati di query come JSON
Per recuperare i dati da una tabella in formato JSON, possiamo utilizzare la parola chiave JSON con l'istruzione SELECT come mostrato nella sintassi seguente:
Seleziona json column_names da table_name;
Ad esempio, per recuperare i record dalla tabella dell'inventario come JSON, possiamo eseguire la seguente query:
CQLSH: Store> Seleziona json * dall'inventario;
La query precedente restituisce tutte le righe dalla tabella come JSON.
Produzione:
[JSON]
----------------------------------------------------------------------
"Product_id": 5, "Disponibilità": True, "Price": 700, "Product_Name": "Laptop", "Quantità": 87
"Product_id": 1, "Disponibilità": True, "Price": 399, "Product_Name": "Meta Quest", "Quantità": 5
"Product_id": 2, "Disponibility": True, "Price": 27, "Product_Name": "Echo Dot", "quantità": 10
"Product_id": 4, "Disponibilità": False, "Price": 499, "Product_Name": "Monitor", "Quantità": 100
"Product_id": 3, "Disponibility": False, "Price": 26, "Product_Name": "Tile Pro", "quantità": 10
(5 file)
Conclusione
In questo articolo, hai imparato come utilizzare la parola chiave JSON in CQL per selezionare i record da una tabella in formato JSON. Per imparare a selezionare colonne specifiche da una tabella come JSON, controlla il nostro tutorial sulla funzione Tojson ().
Grazie per aver letto!