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

Важно!

Microsoft Fabric в настоящее время находится на этапе предварительной версии. Эта информация относится к предварительной версии продукта, который может быть существенно изменен перед выпуском. Корпорация Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении информации, представленной здесь.

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

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

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

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

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

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

Метод randomSplit() эквивалентен выполнению sample() в кадре данных несколько раз. Где каждый пример перепроверяет, секционирует и сортирует кадр данных в секциях. Распределение данных между секциями и порядок сортировки важны как для 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 отображает советы, включая сведения, предупреждения и ошибки, в выходных данных ячейки записной книжки в режиме реального времени.

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

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

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

Дальнейшие действия