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