Python против хранимых процедур Snowflake - PullRequest
0 голосов
/ 06 ноября 2019

Я спрашиваю об этом от имени клиента Snowflake и из любопытства:

Моя компания выполняет сложную логику агрегации для большого объема потоковых данных. Не могли бы вы порекомендовать, следует ли использовать хранимые процедуры или написать скрипт Python при выполнении вне снежинки из компонента, такого как пакет Azure.

Некоторые ответы из документации:

Некоторые соображения перед загрузкой данныхв Snowflake: https://docs.snowflake.net/manuals/user-guide/data-load-considerations.html

Один из методов, который также используется, - это выделение отдельного хранилища для загрузки больших наборов данных: https://docs.snowflake.net/manuals/user-guide/data-load-considerations-plan.html#dedicating-separate-warehouses-to-load-and-query-operations

Если вы преобразовывали данные во время загрузки данных,это хороший справочник для рассмотрения: https://docs.snowflake.net/manuals/user-guide/data-load-transform.html

Более конкретно для хранимых процедур некоторые соображения и ограничения описаны здесь: https://docs.snowflake.net/manuals/sql-reference/stored-procedures-usage.html#stored-procedure-considerations

Я бы очень хотел увидетьразличные подходы доступны. Спасибо за вашу помощь и совет.

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

Я всегда предпочитал Python, а не Javascript, но с точки зрения архитектуры я бы выбрал Javascript SP для Snowflake, а не для Python в Azure Batch по следующим причинам:

  • Никаких дополнительных услуг дляconfigure
  • Пакет Azure имеет большие издержки при раскручивании среды. Если вы пойдете по маршруту Python, я рекомендую вам вместо этого взглянуть на функции Azure.

Из-за недостатков Javascript SP в Snowflake вы не можете использовать сторонние библиотеки, в то время какПакет / функции Python в Azure предоставляют вам возможность использовать сторонние библиотеки, а также подключения к другим хранилищам или внешним базам данных. Итак, это действительно зависит от вашей ситуации. Если вы сможете делать все, что вам нужно, в Snowflake SP, то я бы склонялся таким образом.

0 голосов
/ 06 ноября 2019

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

вы можете обратиться к моему блогу для преобразования одного примера хранимой процедуры с использованием python ниже. ссылка:

https://support.snowflake.net/s/article/How-to-Migrate-Stored-Procedure-to-Snowflake-Cloud-Data-Warehouse-Using-Python

Надеюсь, это поможет!

Большое спасибо, Срига

...