如何从cassandra中非常大的表中读取所有行?
Posted
技术标签:
【中文标题】如何从cassandra中非常大的表中读取所有行?【英文标题】:how to read all row from very huge table in cassandra? 【发布时间】:2016-02-10 09:43:41 【问题描述】:我有一个 Cassandra 集群,在同一个数据中心有两个节点,replica_factor=2。大约 1.5 亿个表格,并且不断增加,我需要每天一次读取进程并更新 Cassandra 中的相应行。
有没有更好的方法来做到这一点?
有没有办法将所有行划分为并行块并由某个线程处理每个块?
Cassandra 版本:2.2.1
java版本:openjdk 1.7
【问题讨论】:
【参考方案1】:您应该看看 Spark。使用Spark Cassandra Connector 允许您从多个 Spark 节点读取 Cassandra 数据,这些节点可以额外部署在 Cassandra 节点或单独的集群中。通过运行 Spark 作业并行读取、处理和写回数据,该作业也可以安排为每日执行。
随着您的数据量不断增长,查看Spark Streaming 可能也很有意义,它允许您根据新数据不断处理和更新您的数据。这将防止重新处理相同的数据一遍又一遍,但这当然取决于您的用例是否适合您。
【讨论】:
以上是关于如何从cassandra中非常大的表中读取所有行?的主要内容,如果未能解决你的问题,请参考以下文章