Поделиться через


Помощник по Apache Spark для рекомендаций в режиме реального времени по записным книжкам

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

Встроенные советы

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

Вы можете открыть панель "Последние запуски" на основе нужных рекомендаций.

Может возвращать несогласованные результаты при использовании randomSplit

Несогласованные или неточные результаты могут быть возвращены при работе с методом randomSplit . Используйте кэширование Apache Spark (RDD) перед использованием метода randomSplit().

Метод randomSplit() эквивалентен выполнению примера() в кадре данных несколько раз. Где каждый пример ссылки, секции и сортировка кадра данных в секциях. Распределение данных между секциями и порядок сортировки важны как для randomSplit(), так и для sample(). Если изменения при ссылке на данные могут быть повторяющимися или отсутствующими значениями в разбиениях. И тот же образец с использованием одного и того же начального значения может производить разные результаты.

Эти несоответствия могут произойти не во всех запусках, но для их полного устранения, кэширования кадра данных, повторного разделения столбцов или применения агрегатных функций, таких как groupBy.

Имя таблицы или представления уже используется

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

Не удалось распознать указание

spark.sql("SELECT /*+ unknownHint */ * FROM t1")

Не удается найти указанные имена отношений

Не удалось найти отношения, заданные в указании. Убедитесь, что отношения написаны правильно и доступны в области указания.

spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

Указание в запросе препятствует применению другого указания

Выбранный запрос содержит указание, которое препятствует применению другого указания.

spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

Включите spark.advise.divisionExprConvertRule.enable, чтобы уменьшить накопление ошибок округления

Запрос содержит выражение с типом Double. Рекомендуется включить параметр конфигурации spark.advise.divisionExprConvertRule.enable, который помогает уменьшить выражения деления и уменьшить накопление ошибок округления.

"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"

Включите spark.advise.nonEqJoinConvertRule.enable для повышения производительности запросов

Запрос содержит затратные по времени операции join из-за наличия условия Or в запросе. Рекомендуется включить параметр конфигурации spark.advise.nonEqJoinConvertRule.enable, который помогает преобразовать соединение, активируемое условием Or, в SMJ или BHJ, чтобы ускорить выполнение запроса.

Взаимодействие с пользователем

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

  • Информация Снимок экрана: сведения.

  • Предупреждение Снимок экрана: предупреждение.

  • Ошибка Снимок экрана: ошибки.

Параметр помощника по Spark

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

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

Снимок экрана: параметр помощника spark.