У меня 6 столов в улье.Я объединяю эти таблицы с предстоящими данными потока Кафки, используя потоковую передачу искры.Я использовал функцию registerTempTable и зарегистрировал все 6 таблиц и даже входящие данные Kafka.Затем я применил внутреннее объединение среди всех таблиц.
пример -
select * from tableA a
join tableB b on a.id = b.id
join tableC c on b.id = c.id
......
......
Потребовалось около 3 минут, чтобы завершить объединение.И я вижу много перемешивания данных.
Я использовал следующие свойства -
conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
conf.set("spark.kryoserializer.buffer.max", "512")
conf.set("spark.sql.broadcastTimeout", "36000")
conf.set("spark.sql.autoBroadcastJoinThreshold", "94371840")
Есть ли способ уменьшить случайное чтение и запись.