例子

2013-07-30 29 views
0

我试图使用将数据写入到Cassandra的CQL 3表:例子

STORE G成形 '定制列表:// keyapse/col_family output_query =不知道放在这里' 使用CqlStorage ();

什么是output_query样子:

UPDATE col_family SET COL1 = $ 0 COL2 = $ 3,其中KEY = $ 16

回答

1

您需要注意两方面:存储URL和数据准备。 这是一个应该工作的例子。

假设你需要在下面的结构中插入数据:

CREATE TABLE example (
    row_id text PRIMARY KEY, 

    value1 text, 

    value2 int 
);

你需要准备的数据是这样的:

data_to_insert = FOREACH some_set_of_data GENERATE 

    TOTUPLE(TOTUPLE('row_id',row_id)), TOTUPLE(value1, value2) ;

最后存储声明将是:

STORE data_to_insert INTO 'cql://my/example?output_query=update example set value1 @ # , value2 @ #' USING CqlStorage();
+0

Kernald,你能上,http://www.datastax.com/dev/blog/cql3-添加此的评论表支持功能于Hadoop的猪和蜂巢。或者我也会为你高兴。 – e90jimmy

+0

Cassandra 1.2.10打破了这种创建语句的方法。现在它希望查询是URL编码的。您的示例将变为:STORE data_to_insert INTO'cql:// my/example?output_query = update + example + set value1 +%3D +%3F +,+ value2 +%3D +%3F'USING CqlStorage(); – Chad

0

我写了一篇关于如何使用PIG作为Cassandra的数据加载器的使用CQL3的简要说明。

http://www.schappet.com/pig_cassandra_bulk_load

基本设置包括从@Kernald的信息

STORE data_to_insert INTO 
    'cql://myschema/example?output_query=update example set value1 @ #,value2 @ #' USING CqlStorage();