将数据从单个csv文件加载到多个Cassandra表?

时间:2016-07-19 19:21:05

标签: cassandra

我是Cassandra的新手,我正在努力解决一些概念。我看到在多个表(使用不同的分区键)中复制相同数据以支持查询的优势,但ETL作业通常是如何设置的?

考虑一个场景,其中来自单个csv文件的数据必须加载到多个表。我们应该多次使用csv文件运行copy / sstableloader / cassandra-loader实用程序,每个表一次吗?

当数据部分加载到某些表但加载脚本仍在运行时,如何保持读取一致性?连接到两个不同表的客户端可能会读取两个不同的值。一些在线论坛建议使用物化视图。这是唯一的选择吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我对Cassandra也很新,根据我到目前为止所做的事情,似乎物化观点是你最好的选择。如果不进行该路由,那么使用Cassandra中的数据执行的所有CRUD语句都必须管理所有表中的数据。物化视图使您无法为每个表编写语句,而是管理基表并自己管理视图。您可以找到一个很好的概述here

BATCH是批量插入数据的最佳选择。但是,它不会阻止脏读,就像用户只获取一些仍在插入过程中的行。我没有看到任何可以在Cassandra中做到的事情,并且基于分布式特性,我不确定它是如何在整个集群中完成“整批”时锁定读取的。