Unit testing 向cassandra单元填充测试数据的最快方法?

Unit testing 向cassandra单元填充测试数据的最快方法?,unit-testing,testing,cassandra,bulk-load,bigdata,Unit Testing,Testing,Cassandra,Bulk Load,Bigdata,我在我的项目(Java)中使用cassandra单元进行测试,它很棒,但问题是:加载测试数据需要相当长的时间(大约25000个普通插入的时间为100秒) 我有一些想法,但对卡桑德拉单位来说似乎不可行: 使用类似于cqlsh的命令COPY FROM从csv复制数据 备份准备好的数据文件夹,并在初始化时将其交给CU 你还有其他想法吗? 谢谢。一次加载大量数据的方法是使用: 它可能不会很快,但出于测试目的,它不应该是一个问题,并且您应该避免直接插入可能会产生的超时(因为您填充了日志文件,并且Cas

我在我的项目(Java)中使用cassandra单元进行测试,它很棒,但问题是:加载测试数据需要相当长的时间(大约25000个普通插入的时间为100秒)

我有一些想法,但对卡桑德拉单位来说似乎不可行:

  • 使用类似于cqlsh的命令COPY FROM从csv复制数据
  • 备份准备好的数据文件夹,并在初始化时将其交给CU
你还有其他想法吗?
谢谢。

一次加载大量数据的方法是使用:


它可能不会很快,但出于测试目的,它不应该是一个问题,并且您应该避免直接插入可能会产生的超时(因为您填充了日志文件,并且Cassandra在之后的一段时间内停止接受数据)。

这取决于所述数据是否被修改,但是,例如,您可以有一个独立的实例,其中包含这些测试要读取的数据。您还可以检查批处理如何与cassandra单元一起工作,只需记住集群环境中的批处理不适合多部分插入。这种方法给了我一个错误:输入不匹配“;”期望K_APPLY被删除“;”在“Unlocked BATCH”之后,错误是:不匹配的输入“”期望K_APPLYSorry,我不应该放置
批处理
关键字之后。另外,
只意味着根据需要添加其他
插入
,因此我可以想象您没有将其放在指令列表中。该链接为您提供了附加文档(批处理
提供了更多功能)。这也适用于Cassandra 2.0及更高版本。
BEGIN UNLOGGED BATCH
INSERT INTO ...;
INSERT INTO ...;
INSERT INTO ...;
...
APPLY BATCH;