Apache Spark Unpersist и Persist - PullRequest
       2

Apache Spark Unpersist и Persist

0 голосов
/ 17 сентября 2018

У меня запущены очень большие варианты использования, и из-за нехватки ресурсов я должен ограничить нет.данных, обрабатываемых в данный момент времени.Таким образом, запустив счетчик для цикла, например от 1 до 10, и для каждого обработанного мною цикла, скажем, 200000 строк.

Мой вопрос заключается в том, что если в моем источнике есть 1M строк, то в конечном итоге обработка будет выполняться за 5 циклов (1M /200000).И у меня есть несколько источников также.Так, например.

Source A has 1M rows
Source B has 2M rows.

Когда я нахожусь в цикле для каждого источника, скажем,

for (source in Sources) {
  val rddSource = spark.read.table(source)
  rddSource.persist
  rddSource.count // to persist the above rdd

  while (counter < 5) {
       //process every 200000 rows with the above persisted rddSource

    }
}

Я хочу сохранить данные, как показано выше. Это поможет запустить источник A для каждых 5время каждого с 200000 строк.

Но для следующей итерации цикла for с источником B, он заменяет ранее кэшированный {rddSource} или мне нужно иметь что-то вроде этого

for (source in Sources) {
      val rddSource = spark.read.table(source)
      rddSource.unPersist
      rddSource.persist

      rddSource.count // to persist the above rdd

      while (counter < 5) {
           //process every 200000 rows with the above persisted rddSource

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