cassandra sstableloader使用各种分区键从csv加载数据

时间:2015-01-27 00:06:01

标签: csv cassandra

我想将一个大型CSV文件加载到我的cassandra集群(此时为1个节点)。

基于:http://www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated
我的数据由CQLSSTableWriter转换为SSTables文件,然后我使用SSTableLoader将SSTable加载到已经包含一些数据的cassandra表中。

该CSV文件包含各种分区键。
现在让我们假设使用多节点cassandra cluser。

我的问题:
1)在多节点集群的情况下,我使用的加载程序是否正确?
2)SSTableLoader是否会将SSTable文件拆分并发送给负责特定分区键的节点?

谢谢

2 个答案:

答案 0 :(得分:1)

  1. 它实际上由协调器节点完成,而不是由SSTableLoader完成。

答案 1 :(得分:1)

1)加载到单节点集群或100节点集群是相同的。唯一的区别是,如果您有多节点群集,数据将分布在环上。运行sstableloader的节点成为协调器(如@rtumaykin已经说明的那样)并将写入发送到适当的节点。

2)否。正如我在上面的回答中所说,"分裂"由协调员完成。可以将sstableloader实用程序视为客户端向集群发送写入的另一个实例。

3)在回答您的后续问题时,sstableloader实用程序不会向节点发送文件,而是发送对这些SSTable中包含的行的写入。 sstableloader读取数据并将写请求发送到集群。