将列表插入表中:cassandra

时间:2016-05-10 09:50:26

标签: sql cassandra nosql

我如何在cassandra中插入这样的东西:

{
    "custID" : '12736467',
    "date" : '2013-06-10',
    "orderID" : 19482065,
    "amount" : 216.28,
    "items" : [
        {   "id" : 1
            "sku" : 87482734,
            "quantity" : 4
        },
        {    "id":2
            "sku" : 32851042,
            "quantity" : 2
        }
    ]
}

我认为在cassandra中存储这些数据的最佳方法是创建一个包含family列的表:

custId   | date     | orderID | amount | items
                                        id | sku     | quantity
12736467 2013-06-10  19482065  216.28   1   87482734  4
                                        2   32851042  2

create table items {
id text,
sku int,
quantity int};

create table test  {
  custId   text,
  date bigint,
  orderId text,
  amount float,
  items list<items >,
  PRIMARY KEY ((custId))
};

但是如何在不使用每次更新的情况下插入此表(插入测试...)。

1 个答案:

答案 0 :(得分:1)

最好不要创建表,而是创建用户定义类型。

然后使用以下内容:

INSERT INTO items ("custId", date, "orderId", amount, items)
       VALUES ( 'custid', 123456, 'orderid', 10.0, 
                [ { 'id' : '1', 'sku' : 12345, 'quantity' : 4 },
                  { 'id' : '2', 'sku' : 12345, 'quantity' : 2 }]);