Spark 2.0+ Даже кеширование данных кэшируется, если один из его исходных кодов изменится, он будет пересчитан? - PullRequest
0 голосов
/ 18 декабря 2018

Вот мой вариант использования.

  1. имеет несколько источников от df1 до df4, df3 представляет существующую таблицу кустов
  2. создает df5 из df1 в df4
  3. вставка / добавление df5 к существующей таблице кустов,
  4. сохранить df5 в другое место.

Проблема в том, что шаг 4 ничего не спасает на месте.Означает ли это, что после шага 3 df3 изменится?Я уже использую cache () для df1 до df5.Но похоже, что df5 пересчитал бы, если бы источник был изменен. Я проверил хранилище Spark Web UI.все кадры данных кэшируются на 100%.

1 Ответ

0 голосов
/ 18 декабря 2018

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

В то же время Spark может выбрать пересчет во многихразличные сценарии.

В некоторых случаях Spark также может обнаруживать изменения (обычно, если данные загружаются из файлов) и генерировать исключение.

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