我正在尝试上传一个csv数据文件到cassandra集群。这应该是一个持续的过程,我正在创建一个简单的java应用程序,将读取csv文件,然后将其转换为SSTable,然后上传到cassandra集群。
我能够使用CQLSSTableWriter完成第一步,并且能够创建本地SSTable数据。从我搜索的内容来看,我了解到我们必须使用www.example.com给予的BulkLoaderapache.cassandra.tools将SSTable上载到群集。我无法计算这部分。此外,我的SSTable副本将在本地,而不是在集群运行的服务器上。2如果可能的话,有人能用一个例子来帮助我实现它吗?3这真的会很有帮助。
要补充的是:我的实际用例是将数据从Sybase连续归档到cassandra,为此我尝试创建Sybase数据的csv并将其上传到Sybase,因为数据将以百万计。
1条答案
按热度按时间nvbavucw1#
您所指的批量加载器是
sstableloader
实用程序,它位于Cassandra安装的tools/bin/
目录中,sstableloader
实用程序将SSTable流化,以将其内容加载到Cassandra集群中。但是,您的方法效率很低,因为没有必要将CSV数据转换为SSTable。
DataStax Bulk Loader工具(DSBulk)是专门为此编写的。它允许您将CSV或JSON格式的数据批量加载到Cassandra。您还可以使用DSBulk将数据从Cassandra导出到CSV或JSON。
以下是一些参考资料和示例,可帮助您快速入门:
DSBulk是完全开源的,所以可以免费使用。干杯!