Оптимальный способ чтения 100 миллионов данных из таблицы с использованием JDBC в SPARK

Я попробовал ниже код для чтения 100 миллионов строк параллельно с использованием JDBC в SPARK.

Dataset<Row> txnDf = sparkSession.read().format("jdbc").option("url", connection).option("partitionColumn", "TXN_DETAIL_ID").option("numPartitions", 1000).option("lowerBound", 1L).option("upperBound", 100000L)
                .option("dbtable", "CI_TXN_DETAIL_STG_100M").load();

Кто-нибудь может подсказать здесь, какие могут быть оптимальные значения для нижеуказанных параметров?

  • numPartitions (я использовал 1000)
  • lowerBound (я использовал 1L (длинное значение))
  • upperBound (я использовал 100000L (длинное значение))

Я имею:

  • 10 исполнителей
  • каждый исполнитель имеет 91 ГБ памяти
  • 170 ядер, на которых работает приложение

0 ответов

Другие вопросы по тегам