跳转到主要内容

Dask + Snowflake集成

项目描述

Dask-Snowflake

Tests Linting

此连接器处于早期实验/测试阶段。

如果您有兴趣试用它,请联系我们

安装

使用pip安装dask-snowflake

pip install dask-snowflake

或者使用conda

conda install -c conda-forge dask-snowflake

使用

dask-snowflake为Dask与Snowflake之间的并行IO提供了read_snowflaketo_snowflake方法。

>>> from dask_snowflake import read_snowflake
>>> example_query = '''
...    SELECT *
...    FROM SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.CUSTOMER;
... '''
>>> ddf = read_snowflake(
...     query=example_query,
...     connection_kwargs={
...         "user": "...",
...         "password": "...",
...         "account": "...",
...     },
... )
>>> from dask_snowflake import to_snowflake
>>> to_snowflake(
...     ddf,
...     name="my_table",
...     connection_kwargs={
...         "user": "...",
...         "password": "...",
...         "account": "...",
...     },
... )

请参阅它们的docstrings以获取更多API信息。

测试

运行测试需要Snowflake账户和访问数据库。测试套件将自动查找特定的SNOWFLAKE_*环境变量(如下所示),必须设置这些变量。

建议但不是必需的,将这些环境变量存储在dask-snowflake存储库根目录中的本地.env文件中。此文件将由git自动忽略,从而降低意外提交的风险。

下面是一个示例.env文件的样子

SNOWFLAKE_USER="<test user name>"
SNOWFLAKE_PASSWORD="<test_user_password>"
SNOWFLAKE_ACCOUNT="<account>.<region>.aws"
SNOWFLAKE_WAREHOUSE="<test warehouse>"
SNOWFLAKE_ROLE="<test role>"
SNOWFLAKE_DATABASE="<test database>"
SNOWFLAKE_SCHEMA="<test schema>"

然后,您可以source .env或安装pytest-dotenv来自动设置这些环境变量。

注意:如果您运行测试并得到一个提到“write+execute memory for ffi.callback()”的MemoryError,那么您可能有一个来自conda-forge的过时的cffi构建。请将其删除并使用pip安装版本。

conda remove cffi --force
pip install cffi

许可证

BSD-3

由以下机构支持