Обновление с версии spark 1.6 до 2.4.x, объединение слиянием spark sql между двумя DataSet1 и DataSet2 приводит к снижению производительности, поскольку данные в cassandra растут для Dataset2, кажется, DataSet1 выполняет полное сканирование таблицы для объединения с другим Dataset2, который приводит к большим перемешиваниям и, следовательно, по мере роста данных в БД для Dataset2, то же объединение Dataset1 занимает больше времени, чем раньше.
Dataset<Row> dataset1 = mySession.read().format(org.apache.spark.sql.cassandra).options(new HashMap<String, String>(){
put(KEYSPACE, keySpace);
put(TABLE, table1);
}}).load().where("key in "+criteria);
Dataset<Row> dataset2 = mySession.read().format(org.apache.spark.sql.cassandra).options(new HashMap<String, String>(){
put(KEYSPACE, keySpace);
put(TABLE, table2);
}}).load();
Dataset<SchemaLess> theJoinedDataset= dataset1.join(dataset2, dataset1.col("joinkey").equalTo(dataset2.col("key"))
Пожалуйста, ответьте, если у кого-то есть идеи, связанные с этим.