У меня есть таблица Кассандры с тремя столбцами: devid, эпоха, измерениеТеперь для аналитических целей в Spark я хотел, чтобы все данные конкретного devid отправлялись на один и тот же узел независимо от измерения и эпохи, чтобы была хорошая локальность данных, а для аналитики одного devid я мог избежать перетасовки сетевых данных вSpark.
Однако объем данных для каждого устройства будет слишком велик, чтобы быть эффективным в одном разделе.Следовательно, я не могу определить первичный ключ, например (devid, dimension, epoch).Поэтому мне нужно выбрать ключ типа ((Devid, Dimension), Epoch), который будет управляемым.Однако это приведет к тому, что данные одного devid будут размещены на нескольких узлах (и тогда Spark потребуется перестановка данных по сети для аналитики по одному devid).
Могу ли я создать настраиваемый parititioner, который будет учитывать devid иигнорировать измерение в ключе ((devid, dimension), эпоха) для генерации маркера разделения?Желательно ли это сделать?