Spark повторно сканирует таблицу кустов каждую итерацию цикла - PullRequest
0 голосов
/ 17 октября 2018

Я вычисляю нисходящее закрытие некоторых узлов на графике.Мой запрос читает график несколькими искровыми SQL-запросами, а затем соединяет ребра в цикле до тех пор, пока он не сможет.

val edges = ctx.sql("select * from edges")
var tree = null
for (i <- 1 to 10) {
  if (tree == null) { 
    tree = edges.joinWith(edges, col("dst") == col("src"))
  } else {
    tree = tree.joinWith(edges, col("dst") == col("src"))
  }
  tree.show()
}

Проблема заключается в том, что таблица ребер сканируется при каждой итерации цикла.Я пытался сохранить все наборы данных, но это не помогает.

Есть ли способ прочитать таблицу только один раз?

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