如何从雪花数据库表中将超过100MB的数据下载到csv中

时间:2019-10-30 19:11:54

标签: snowflake-data-warehouse

我是雪花的新蜂,有没有办法将100MB以上的数据下载到excel或csv中?

我最多可以下载100MB

1 个答案:

答案 0 :(得分:2)

您需要考虑使用我们所谓的“卸载”,也就是复制到位置 在此处记录: https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-location.html

其他选择可能是使用其他类型的客户端(python脚本或类似脚本)。

我希望这对您有帮助...丰富

.....编辑如下...

使用卸载(COPY INTO LOCATION)并不像看起来那样令人不知所措,如果您可以使用snowSQL客户端(而不是webUI),则可以从我们所谓的文件中“获取”文件“内部阶段”相当容易,如下所示。

CREATE TEMPORARY STAGE my_temp_stage;

COPY INTO @my_temp_stage/output_filex
FROM (select * FROM databaseNameHere.SchemaNameHere.tableNameHere)
FILE_FORMAT = ( 
 TYPE='CSV' 
 COMPRESSION=GZIP 
 FIELD_DELIMITER=',' 
 ESCAPE=NONE 
 ESCAPE_UNENCLOSED_FIELD=NONE 
 date_format='AUTO' 
 time_format='AUTO' 
 timestamp_format='AUTO'
 binary_format='UTF-8' 
 field_optionally_enclosed_by='"' 
 null_if='' 
 EMPTY_FIELD_AS_NULL = FALSE 
)  
overwrite=TRUE 
single=FALSE 
max_file_size=5368709120 
header=TRUE;

ls @my_temp_stage;

GET @my_temp_stage file:///tmp/ ;

此示例:

  1. 在Snowflake中创建一个临时舞台对象,当您关闭会话时,该对象将被丢弃。
  2. 获取查询结果并将其加载到该内部临时阶段中的一个(或多个)csv文件中,具体取决于输出的大小。请注意,我没有创建另一个名为“ FILE FORMAT”的数据库对象,这被认为是一种最佳实践,但是如果您不介意使用该命令,则可以在不创建该单独对象的情况下进行一次提取操作长。
  3. 列出阶段中的文件,以便您查看创建的内容。
  4. 使用GET下拉文件,在这种情况下,该文件在我的Mac上运行,文件放置在/ tmp中,如果您使用的是Windoz,则需要进行一些修改。