我使用Cassandra 2.0.9来存储相当大量的数据,比如100Gb,在一个列系列中。我想快速将这些数据导出为CSV。我想:从Cassandra导出大量的数据到CSV
- sstable2json - 它会产生相当大的JSON文件,这是很难解析 - 因为工具放入一行数据,并使用复杂的架构,它需要(例如300MB的数据文件=〜2Gb的JSON)。大量的时间来转储和卡桑德拉喜欢根据其内部机制来更改源文件名
- COPY - 导致对大数量的记录
- CAPTURE相当快的EC2实例超时 - 像上面,导致超时
- 与分页读 - 我用timeuuid它,但它返回约1,5k记录每秒
我使用Amazon EC2实例具有快速存储,内存15 GB和4个核
是有没有更好的选择将Cassandra的数据从千兆字节输出到CSV?
你有没有考虑过为自己制作一个小玩意儿?使用datastax驱动程序,您可以轻松地提出请求,提取您的数据,然后使用csv文件将它们序列化为几乎没有Java代码? 这将确保你得到你想要的确切结果(尽管有一点努力)。 – Ar3s
此外,我没有得到“阅读与分页”方法或问题。 – Ar3s
*阅读与分页* - 使用Python驱动程序我试图阅读内容使用限制(测试值100 - 10000,基于TimeUuid)和偏移量,它非常缓慢,卡桑德拉能够读取每秒约1,5k记录3个实例和复制因子2 我无法想象,只需使用驱动程序就可以构建快速读取,因为每行Cassandra必须检查存储数据的节点。 – KrzysztofZalasa