0

我目前正在使用Snowflake Python connector (2.6.2)将数据从 onPremise 服务器移动到 Snowflake。我的文件很大,所以我不使用write_pandas(),我更喜欢使用PUT命令将镶木地板文件放在雪花内部阶段,然后使用 COPY 命令将数据从阶段移动到雪花表。

(所有同步调用)

# Put parquet files to stage
copy_into_stage = f"put file://{parquet_path} @{stage_name};"
cur.execute(copy_into_stage)

# Copy Snowflake stage to table
copy_into_table = self._copy_into_statement(table, stage_name, parquet_schema)
cur.execute(copy_into_table)

一切正常,但我真的需要为我的用户显示一些进度条。一些数据集可能需要超过 1 小时才能上传...

当您将数据移入/移出雪花时,我看到 SnowSQL 显示了一些不错的进度条,我尝试做同样的事情。

雪花游标对象的执行方法有一些关于进度条的私有参数: _show_progress_bar甚至_get_callback

https://github.com/snowflakedb/snowflake-connector-python/blob/19474a11d5e2f71f03cff49e639fff9b0eb16ad0/src/snowflake/connector/cursor.py#L575

  • 是否可以使用带有 Snowflake Python 连接器的内置 SnowSQL 进度条?

  • Snowflake 是否返回有关实际查询进度的一些元数据?与回调函数一起使用?

谢谢

4

1 回答 1

0

对于第一个查询,您可能可以使用一些 Python 函数来执行此操作,但我认为 SF 中没有针对此用例的任何示例,但此参考可能是一个很好的起点:Python Progress Bar

对于第二个要求,您可以在此处查看查询进度:https ://docs.snowflake.com/en/user-guide/python-connector-example.html#checking-the-status-of-a-query

于 2022-02-01T13:47:25.170 回答