我想将一个大型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文件拆分并发送给负责特定分区键的节点?
谢谢
答案 0 :(得分:1)
答案 1 :(得分:1)
1)加载到单节点集群或100节点集群是相同的。唯一的区别是,如果您有多节点群集,数据将分布在环上。运行sstableloader
的节点成为协调器(如@rtumaykin已经说明的那样)并将写入发送到适当的节点。
2)否。正如我在上面的回答中所说,"分裂"由协调员完成。可以将sstableloader
实用程序视为客户端向集群发送写入的另一个实例。
3)在回答您的后续问题时,sstableloader
实用程序不会向节点发送文件,而是发送对这些SSTable中包含的行的写入。 sstableloader
读取数据并将写请求发送到集群。