cql-import动态映射cassandra中的条目

时间:2016-02-04 06:22:08

标签: cassandra datastax datastax-enterprise cassandra-cli cassandra-2.1

我有2个mysql表,如下所示

表员工:

id int, name varchar

表格电子邮件

emp_id int, email_add varchar

表电子邮件&员工通过employee.id = emails.emp_id

连接

我有以下条目:

的MySQL> select * from employee;

Django

的MySQL>从电子邮件中选择*;

id       name
1         a    
2         b   
3         c   

6行(0.02秒)

现在我想以2种格式将数据导入cassandra

---格式1 ---

cassandra中的

表:emp_details:

id,name,email map {text,text}

即。数据应该像

1,a,{' email_1' :' aa@gmail.com' ,' email_2:' aaa@gmail.com' ' EMAIL_3' :' aaaa@gmail.com'}

2,b,{' email_1' :' bb@gmail.com' ' EMAIL_2':' bbb@gmail.com'}

3,c,{' email_1' :' cc@gmail.com'}

----格式2 ----

我希望拥有像

这样的动态列

id,name,email_1,email_2,email_3 .... email_n

请帮我一样。我主要担心的是将mysql中的数据导入上述两种格式。

1 个答案:

答案 0 :(得分:0)

修改:将列表更改为地图

逻辑上,您不希望用户拥有> 1000封电子邮件,我建议使用地图< text,text>甚至列出< text>。它非常适合CQL集合。

CREATE TABLE users (
   id int,
   name text,
   emails map<text,text>,
   PRIMARY KEY(id)
);

INSERT INTO users(id,name,emails)
VALUES(1, 'a', {'email_1': 'aa@gmail.com', 'email_2': 'bb@gmail.com', 'email_3': 'cc@gmail.com'});