我们将使用cassandra在我们的项目中存储.csv和非结构化数据。数据可以是GB。所以我想知道将数据加载到Cassandra的更好的方法或工具。 SSTables可以处理如此多的数据吗?或者我应该选择像spark或YCSB这样的工具?
(免责声明:我是ScyllaDB员工)
SStables可以轻松存储这种大小的数据(还有更多...)
如果您的数据采用SStable格式,那么我强烈建议您使用SStableLoader实用程序。不带任何参数运行将显示选项和用法列表。最重要的是sstables目录和节点IP。我建议在预准备语句中使用-x标志,因为它可以提高性能。
例子:
sstableloader -x -d [node IP] .../[ks]/[table]
sstableloader -x -d [node IP] .../[mount point] (in /[ks]/[table] format)
另一种选择是使用批量复制。例如:copy keyspace1.table1 FROM 'a.csv' WITH HEADER=TRUE;
我建议你阅读这篇blog关于Cassandra和Scylla中大型数据集的摄取率。您可以发现另一个有趣的blog是从各种数据库架构加载数据。
祝你好运和快乐的装载。