1
有一個職位用於複製像列表多值數據和CSV到卡桑德拉表設置,使用CQL副本地圖數據
Import CSV with multi-valued (collection) attributes to Cassandra
有任何一個這樣做的地圖類型的數據?
有一個職位用於複製像列表多值數據和CSV到卡桑德拉表設置,使用CQL副本地圖數據
Import CSV with multi-valued (collection) attributes to Cassandra
有任何一個這樣做的地圖類型的數據?
當然,我會給你一個簡單的例子,同時使用map
和list
。考慮下面的檯面設計,可以容納飛船的數據,以及船員的名單和乘客:
CREATE TABLE shipregistry (
name text,
class text,
hullnumber text,
crew map<text,text>,
passengers list<text>,
PRIMARY KEY ((name))
);
我將從以下文本文件(/home/aploetz/shipregistry_20150302.csv
),其中有一個標題和一個單行加載此表的數據
name|class|crew|hullnumber|passengers
Serenity|03-K64-Firefly|{'1st Officer': 'Zoey Washburne', 'captain': 'Malcolm Reynolds', 'engineer': 'Kaylee Frye', 'pilot': 'Hoban Washburne'}|G-82659|['Simon Tam', 'River Tam', 'Derial Book', 'Inara Serra']
我將使用cqlsh COPY
命令,然後將其導入:豎線分隔的數據
[email protected]:presentation> COPY shipregistry FROM
'/home/aploetz/shipregistry_20150302.csv' WITH HEADER=true and DELIMITER='|';
1 rows imported in 0.017 seconds.
需要注意的,是,list
數據爲passengers
列,是逗號分隔的和括在括號中:
['Simon Tam', 'River Tam', 'Derial Book', 'Inara Serra']
同樣,map
數據爲crew
列,是逗號分隔的鍵 - 值對的列表,幷包含在括號:
{'1st Officer': 'Zoey Washburne', 'captain': 'Malcolm Reynolds', 'engineer': 'Kaylee Frye', 'pilot': 'Hoban Washburne'}
我選擇了一個管作爲分隔符,以使這更容易對自己和避免與集合類型逗號潛在的衝突。
太棒了。我會試試看。這是在文檔中搜索? – bhomass 2015-03-03 19:18:35
@ user1058511不,我只知道這一點,因爲上週我必須這樣做。不幸的是,有些文檔需要更詳細的示例來刷新。 – Aaron 2015-03-03 19:22:36
@Aaron - 如果映射字段缺少數據會怎麼樣? IE:出來'{'因素':'1','rep':}''''''rep'缺少值? CQL回收了一個很好的'沒有可行的替代方案...' – tymeJV 2015-11-10 16:21:15