【发布时间】:2019-02-16 11:19:45
【问题描述】:
我有一个 Cassandra 表,其中包含三列 devid、epoch、Dimension。现在,为了通过 Spark 进行分析,我希望将特定设备的所有数据都转到同一个节点,而不管维度和时期如何,以便有良好的数据局部性,并且对于单个设备的分析,我可以避免网络数据混洗火花。
但是,每个分区的数据量太大,无法在单个分区中有效。因此我不能定义一个主键,比如(devid、Dimension、epoch)。所以我需要一个像 ((devid, dimension), epoch) 这样易于管理的键。但是,这将开始将单个 devid 的数据放在多个节点上(然后 Spark 将需要通过网络进行数据混洗以对单个 devid 进行分析)。
我可以创建一个自定义分区器,它会考虑 devid 并忽略键中的维度 ((devid, dimension), epoch) 以生成分区令牌吗?这样做是否可取?
【问题讨论】:
标签: cassandra