在Spark中的巨大数据框架上有效过滤



我有一个带有5亿行的卡桑德拉桌。我想根据一个使用Spark的字段过滤,该字段是Cassandra中的分区密钥。

您可以根据列表键提出最佳/有效的方法,以过滤Spark/Spark SQL,这也很大。

基本上,我只需要从卡桑德拉表中的那些行,这些行中存在于密钥列表中。

我们正在使用DSE及其功能。我使用的方法大约需要大约一个小时的时间。

您是否检查过repartitionByCassandraReplicajoinWithCassandraTable

joinWithCassandraTable使用Java驱动器执行单个 查询源RDD所需的每个分区,因此不需要 数据将被请求或序列化。这意味着任何在任何之间 可以执行RDD和Cassandra表,而无需做完整的桌子 扫描。当两个Cassandra表之间执行时,共享相同的 分区密钥这将不需要机器之间的数据移动。 在所有情况下,此方法将使用源RDD的分区和 数据位置的位置。

该方法repartitionByCassandraReplica可用于重新安置数据 在RDD中,以匹配给定表的复制策略和 钥匙空间。该方法将在 给定RDD,然后使用这些值来确定 集群将负责该数据。

相关内容

  • 没有找到相关文章

最新更新