Python SnowflakeOperator setup снежинка_дефолт - PullRequest
0 голосов
/ 30 июня 2019

Добрый день, я не могу найти, как выполнить базовую настройку на airflow.contrib.operators.snowflake_operator.SnowflakeOperator для подключения к снежинке. snowflake.connector.connect отлично работает.

Когда я делаю это с SnowflakeOperator:

op = snowflake_operator.SnowflakeOperator(sql = "create table test(*****)", task_id = '123')

Я получаю

airflow.exceptions.AirflowException: The conn_id snowflake_default isn't defined

Я пытался вставить в бэкэнд sqlite db

INSERT INTO connection( conn_id, conn_type, host , schema, login, password , port, is_encrypted, is_extra_encrypted ) VALUES (*****)

Но после этого я получаю ошибку:

snowflake.connector.errors.ProgrammingError: 251001: None: Account must be specified.

Передача account kwarg в SnowflakeOperator конструктор не помогает. Кажется, я не могу передать учетную запись в БД или в конструктор, но это требуется.

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

1 Ответ

0 голосов
/ 30 июня 2019

Зайдите в Admin -> Подключения и обновите snowflake_default подключение вот так:

на основе исходного кода airflow/contrib/hooks/snowflake_hook.py:53 нам нужно добавить дополнительные функции, например:

{
    "user": "user",
    "password": "password",
    "schema": "schema",
    "database": "database",
    "account": "account",
    "warehouse": "warehouse"
}

enter image description here

...