例子

2013-07-30 28 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();