При обновлении с версии 1.6 до 2.4.x объединение слиянием spark sql приводит к снижению производительности по мере роста данных в Кассандре. - PullRequest
1 голос
/ 06 апреля 2020

Обновление с версии 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"))

Пожалуйста, ответьте, если у кого-то есть идеи, связанные с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...