7

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

提前致谢

4

3 回答 3

4

您有 2 个选项,它们都使用基于 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 结果捕获到文件中。

测试.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 支持,该门户可通过 Snowflake 帮助部分访问。帮助 -> 支持门户。

希望这可以帮助。

于 2015-06-04T07:39:00.637 回答
2

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

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

于 2015-06-04T05:34:57.190 回答
2

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

  1. 使用COPY INTO将表数据加载到表暂存 https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-location.html

    snowsql$> 复制到 @%test_table/result/data_ from test_table file_format = (TYPE ='[FILE_TYPE]' compression='[COMPRESSION_TYPE]');

  2. 使用GET命令将数据从表暂存下载到本地 FS https://docs.snowflake.net/manuals/sql-reference/sql/get.html

    snowsql$> 获取@%test_table/result/data_file:///tmp/;

于 2017-04-13T09:47:32.597 回答