airflow.providers.snowflake.hooks.snowflake
¶
Module Contents¶
Classes¶
A client to interact with Snowflake. |
Attributes¶
- class airflow.providers.snowflake.hooks.snowflake.SnowflakeHook(*args, **kwargs)[source]¶
Bases:
airflow.providers.common.sql.hooks.sql.DbApiHook
A client to interact with Snowflake.
This hook requires the snowflake_conn_id connection. The snowflake account, login, and, password field must be setup in the connection. Other inputs can be defined in the connection or hook instantiation.
- Parameters
snowflake_conn_id – Reference to Snowflake connection id
account – snowflake account name
authenticator – authenticator for Snowflake. ‘snowflake’ (default) to use the internal Snowflake authenticator ‘externalbrowser’ to authenticate using your web browser and Okta, ADFS or any other SAML 2.0-compliant identify provider (IdP) that has been defined for your account
https://<your_okta_account_name>.okta.com
to authenticate through native Okta.warehouse – name of snowflake warehouse
database – name of snowflake database
region – name of snowflake region
role – name of snowflake role
schema – name of snowflake schema
session_parameters – You can set session-level parameters at the time you connect to Snowflake
insecure_mode – Turns off OCSP certificate checks. For details, see: How To: Turn Off OCSP Checking in Snowflake Client Drivers - Snowflake Community
Note
get_sqlalchemy_engine()
depends onsnowflake-sqlalchemy
See also
For more information on how to use this Snowflake connection, take a look at the guide: SQLExecuteQueryOperator to connect to Snowflake
- classmethod get_connection_form_widgets()[source]¶
Return connection widgets to add to connection form.
- get_sqlalchemy_engine(engine_kwargs=None)[source]¶
Get an sqlalchemy_engine object.
- Parameters
engine_kwargs – Kwargs used in
create_engine()
.- Returns
the created engine.
- get_autocommit(conn)[source]¶
Get autocommit setting for the provided connection.
- Parameters
conn – Connection to get autocommit setting from.
- Returns
connection autocommit setting. True if
autocommit
is set to True on the connection. False if it is either not set, set to False, or the connection does not support auto-commit.
- run(sql: str | Iterable[str], autocommit: bool = ..., parameters: Iterable | Mapping[str, Any] | None = ..., handler: None = ..., split_statements: bool = ..., return_last: bool = ..., return_dictionaries: bool = ...) None [source]¶
- run(sql: str | Iterable[str], autocommit: bool = ..., parameters: Iterable | Mapping[str, Any] | None = ..., handler: Callable[[Any], T] = ..., split_statements: bool = ..., return_last: bool = ..., return_dictionaries: bool = ...) tuple | list[tuple] | list[list[tuple] | tuple] | None
Run a command or list of commands.
Pass a list of SQL statements to the SQL parameter to get them to execute sequentially. The result of the queries is returned if the
handler
callable is set.- Parameters
sql – The SQL string to be executed with possibly multiple statements, or a list of sql statements to execute
autocommit – What to set the connection’s autocommit setting to before executing the query.
parameters – The parameters to render the SQL query with.
handler – The result handler which is called with the result of each statement.
split_statements – Whether to split a single SQL string into statements and run separately
return_last – Whether to return result for only last statement or for all after split.
return_dictionaries – Whether to return dictionaries rather than regular DBAPI sequences as rows in the result. The dictionaries are of form
{ 'column1_name': value1, 'column2_name': value2 ... }
.
- Returns
Result of the last SQL statement if handler is set. None otherwise.
- get_openlineage_database_info(connection)[source]¶
Return database specific information needed to generate and parse lineage metadata.
This includes information helpful for constructing information schema query and creating correct namespace.
- Parameters
connection – Airflow connection to reduce calls of get_connection method
- get_openlineage_database_dialect(_)[source]¶
Return database dialect used for SQL parsing.
For a list of supported dialects check: https://openlineage.io/docs/development/sql#sql-dialects
- get_openlineage_database_specific_lineage(_)[source]¶
Return additional database specific lineage, e.g. query execution information.
This method is called only on completion of the task.
- Parameters
task_instance – this may be used to retrieve additional information that is collected during runtime of the task