json - 使用 map 和列表列将非规范化表导出到cassandra表

标签 json hadoop cassandra

我在mysql中有一个非正规化的表格,其结构如下:

AcctID | fName | lName | userId | ProductCode | Street | City | State | Zip

一个人只能有一个userId,但该人可以有多个具有自己地址的AccID。因此,在cassandra中,我将创建一个像这样的表:
create type acctInfo (
  prodCode text,
  street text,
  city text,
  state text,
  zip int
);

create type fullName (
  fName text,
  lName text
 );

create table CustInfo (
  userId PRIMARY KEY,
  name fullName,
  accts map<text, frozen<acctInfo>>
);

我了解此示例中需要的csv文件中的嵌套结构...

https://issues.apache.org/jira/browse/CASSANDRA-5590

我可以编写一个Shell脚本来为csv文件中的每一行生成json数组,但是它将对mySql中的我的非规范化表运行很多查询以创建csv文件。还有其他方法吗?

我还可以从mySql导出此非规范化表,并将其也拖放到HDFS中。

我想我的问题是,将非规范化表从关系数据库系统获取到具有 map 和列表的 Cassandra 的最佳方法是什么?

最佳答案

从MySQL将所有数据加载到cassandra的最佳方法是通过spark。您可以一次获取所有数据,并放入列表和 map ,然后将数据推送到cassandra中。

关于json - 使用 map 和列表列将非规范化表导出到cassandra表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31954860/

相关文章:

iphone - json 解析返回的数据顺序与 json 字符串不同

hadoop - 此脚本已弃用。而是使用start-dfs.sh并启动-yard.sh

csv - 读取大量 csv 文件时 mapreduce 失败

hadoop - 使用 WebHDFS 通过 HTTP 播放视频

java - Cassandra CQL 无法插入(输入时没有可行的替代方案)

cassandra - 使用 TEXT 作为主键时是否有任何性能损失?

mysql - MySQL 中的 JSON,返回 1(共 3 个)部门,列出所有员工

java - 将数据从 arraylist 插入表

javascript - 排列 json 以匹配另一个 json 模板

cassandra - 如何使用 scyllaDB 实现 Liquibase?