如何从雪花云数据仓库向本地系统导出数据?

问题描述 投票:7回答:3

我使用雪花云数据仓库,就像托管数据的teradata。我可以在Web UI上运行查询并获得结果。但我不清楚如何将结果导出到本地PC,以便我们可以根据数据进行报告。

提前致谢

database cloud snowflake
3个回答
4
投票

你有两个选项,它们都使用基于henplus的sfsql。第一个选项是将查询结果导出到S3临时文件,如下所示:

CREATE STAGE my_stage URL='s3://loading/files/' CREDENTIALS=(AWS_KEY_ID=‘****' AWS_SECRET_KEY=‘****’);
COPY INTO @my_stage/dump
FROM  (select * from orderstiny limit 5) file_format=(format_name=‘csv' compression=‘gzip'');

另一种选择是将sql结果捕获到文件中。

TEST.SQL:

set-property column-delimiter ","; 
set-property sql-result-showheader off;
set-property sql-result-showfooter off;

select current_date() from dual;

$ ./sfsql <test.sql> result.txt

有关更多详细信息和帮助,请登录您的雪花帐户并访问在线文档,或通过Snowflake支持门户网站将您的问题发布到Snowflake支持,该门户网站可通过Snowflake帮助部分访问。帮助 - >支持门户。

希望这可以帮助。


2
投票

您可以使用COPY命令将表(或查询结果)导出到S3上的文件(使用“stage”位置),然后使用GET命令将其保存到本地文件系统。您只能从“sfsql”Snowflake命令行工具(而不是Web UI)中执行此操作。

搜索文档“卸载”,你会在那里找到更多信息。


2
投票

您可以直接从Snowflakes下载数据到本地文件系统,无需登台S3或通过unix管道重定向

  1. 使用COPY INTO将表数据加载到表分段https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-location.html snowsql $>从test_table复制到@%test_table / result / data_ file_format =(TYPE ='[FILE_TYPE]'compression ='[COMPRESSION_TYPE]');
  2. 使用GET命令将数据从表分段下载到本地FS https://docs.snowflake.net/manuals/sql-reference/sql/get.html snowsql $> get @%test_table / result / data_ file:/// tmp /;
© www.soinside.com 2019 - 2024. All rights reserved.