cassandra sstableloader 使用各种分区键从 csv 加载数据
cassandra sstableloader load data from csv with various partition keys
我想将一个大型 CSV 文件加载到我的 cassandra 集群(此时有 1 个节点)。
基于:http://www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated
我的数据由 CQLSSTableWriter 转换为 SSTables 文件,然后我使用 SSTableLoader 将该 SSTables 加载到已经包含一些数据的 cassandra table。
该 CSV 文件包含各种分区键。
现在假设使用多节点 cassandra cluser。
我的问题:
1) 在多节点集群的情况下,我使用的加载程序是否正确?
2) SSTable 文件是否会被SSTableLoader 拆分并发送到负责特定分区键的节点?[=11=]
谢谢
- 是
- 它实际上将由协调器节点完成,而不是由 SSTableLoader 完成。
1) 加载到单节点集群和100节点集群是一样的。唯一的区别是,如果你有一个多节点集群,数据将分布在环上。您 运行 sstableloader
所在的节点成为协调器(如@rtumaykin 所述)并将写入发送到适当的节点。
2) 不。正如我上面的回复,"splitting" 是由协调员完成的。将 sstableloader
实用程序视为客户端向集群发送写入的另一个实例。
3) 在回答您的后续问题时,sstableloader
实用程序不会将文件发送到节点,而是发送包含在这些 SSTable 中的行的写入。 sstableloader
读取数据并向集群发送写入请求。
我想将一个大型 CSV 文件加载到我的 cassandra 集群(此时有 1 个节点)。
基于:http://www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated
我的数据由 CQLSSTableWriter 转换为 SSTables 文件,然后我使用 SSTableLoader 将该 SSTables 加载到已经包含一些数据的 cassandra table。
该 CSV 文件包含各种分区键。
现在假设使用多节点 cassandra cluser。
我的问题:
1) 在多节点集群的情况下,我使用的加载程序是否正确?
2) SSTable 文件是否会被SSTableLoader 拆分并发送到负责特定分区键的节点?[=11=]
谢谢
- 是
- 它实际上将由协调器节点完成,而不是由 SSTableLoader 完成。
1) 加载到单节点集群和100节点集群是一样的。唯一的区别是,如果你有一个多节点集群,数据将分布在环上。您 运行 sstableloader
所在的节点成为协调器(如@rtumaykin 所述)并将写入发送到适当的节点。
2) 不。正如我上面的回复,"splitting" 是由协调员完成的。将 sstableloader
实用程序视为客户端向集群发送写入的另一个实例。
3) 在回答您的后续问题时,sstableloader
实用程序不会将文件发送到节点,而是发送包含在这些 SSTable 中的行的写入。 sstableloader
读取数据并向集群发送写入请求。