Когда используется Spark Connector со Snowflake, где обрабатывается этот запрос? - PullRequest
1 голос
/ 25 февраля 2020

Например, если я запускаю запрос, используя Spark Connector от клиента (работает на EMR-1), чтобы получить данные от Snowflake (работает на EMR-2), где этот запрос фактически выполняется? Это обрабатывается на самой Snowflake, а затем возвращается результат, или это обрабатывается как искровое задание на клиентском EMR? Когда я вижу историю запросов на Snowflake, он также показывает выполненный запрос. Значит ли это, что он также потребляет ресурсы?

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

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

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

1 голос
/ 25 февраля 2020

Snowflake Connector позволяет Spark считывать и записывать данные в Snowflake.

Клиент отправляет запрос через Spark Connector в Snowflake, который обрабатывает его и возвращает результат в соединитель.

Поскольку выполнение запроса обрабатывается Snowflake, оно будет использовать ваши кредиты Snowflake.

...