Usando JSON con Cassandra

Usando JSON con Cassandra

  • Orquestación
6 min de lectura Actualizado Jan 2, 2019

Puntos clave: Usar JSON con Cassandra permite una gestión flexible de datos al permitir a los usuarios escribir datos en formato JSON. La guía incluye ejemplos para crear espacios de claves y tablas, insertar datos y consultarlos usando sintaxis JSON.

  • Permite almacenar y escribir datos en formato JSON.
  • Incluye ejemplos para crear tablas e insertar registros usando sintaxis JSON.

Cassandra proporciona soporte para JSON. te puede, por supuesto, almacena texto JSON en columnas de texto de Cassandra. Pero no están eso a lo que nos referimos aquí. Aquí queremos decir te puede utiliza JSON para escribir en tablas de Cassandra.

Lo ilustramos con un ejemplo. Primero Crea un espacio de llaves.

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

Ejemplo simple de JSON

Vamos a Haz una tabla con tres columnas. Luego escribamos datos en ella usando la palabra clave JSON. Eso le dice a Cassandra que asigne los valores JSON a los nombres de las columnas, tal y como te esperaría con JSON.

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

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

Luego listamos los datos. Parece que son datos columnares normales y no JSON. Porque son solo datos normales. Simplemente usamos JSON para añadirlos, lo cual están útil ya que los datos a menudo se están representados como JSON.

    select * from books;

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

JSON anidado

Aquí está un ejemplo más complicado. Tenemos un registro de cliente con un tipo de ventas que están de lista de tipos. Obviamente, un cliente tendría varias ventas. Así que esta es una buena forma de representarlo.

Primero Creamos el tipo de venta. Luego Crea la tabla de clientes. Tenemos que utilizar la palabra clave FROZEN porque cada transacción de venta no puede cambiarse, es decir, está inmutable. Si tú quieres cambiar una transacción de venta, te tendrías que eliminarla y luego añadirla de nuevo.

    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> );

Ahora añade valores. Como los artículos de venta son una lista, podemos añadir más de uno.

    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}]) ;

Ahora enumera los elementos. Ten en cuenta que no está ningún signo de interrogación alrededor del valor clave en el jSON. Esto están porque está un objeto JSON.

    select * from customers;

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

Si te quieres convertirlo a una cadena JSON, entonces utiliza a Json()

    select id, toJson(sales) from customers;

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

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.