Я использую cassandra 2.1.5 (.469) со spark 1.2.1.
Я выполнил задание миграции с помощью spark для большой таблицы C * (2 034 065 959 строк) - перенес ее в другую таблицу схемы (new_table), используя:
some_mapped_rdd.saveToCassandra("keyspace", "new_table", writeConf=WriteConf(parallelismLevel = 50))
Я вижу в OpsCenter/Activities, что C* выполняет некоторые задачи по уплотнению в new_table, и это продолжается несколько дней.
Кроме того, я пытаюсь запустить другое задание, пока задачи уплотнения все еще включены, используя:
//join with cassandra
val rdd = some_array.map(x => SomeClass(x._1,x._2)).joinWithCassandraTable(keyspace, some_table)
//get only the jsons and create rdd temp table
val jsons = rdd.map(_._2.getString("this"))
val jsonSchemaRDD = sqlContext.jsonRDD(jsons)
jsonSchemaRDD.registerTempTable("this_json")
и это занимает гораздо больше времени, чем обычно (обычно я не выполняю огромные задачи по миграции), чтобы закончить.
Так влияют ли процессы уплотнения в C* на задания Spark?
РЕДАКТИРОВАТЬ:
Моя таблица настроена на стратегию сжатия SizeTieredCompactionStrategy (по умолчанию), и у меня есть 2882~ из 20M~ (и меньше, на 1 узле из 3) файлов SSTable, поэтому я думаю, что мне следует изменить параметр compaction_throughput_mb_per_sec на более высокое значение и перейти к стратегии сжатия DateTieredCompactionStrategy. поскольку мои данные представляют собой данные временных рядов.