将CSV数据加载到Snowflake架构中

xyhw6mcr  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(158)

我对Snowflake相当陌生,正在尝试将数据从CSV文件导出到Snowflake模式中,但我有点迷路了。一个文件夹中有5个CSV文件,我必须使用内部工具将所有5个文件的数据导出到Snowflake模式的表中。我已经完成了阅读文件的部分,但它的加载部分我卡住了。
第一,如果我只是将所有文件的数据加载到一个表中,我如何知道哪些数据来自哪个文件?第二,文件的结构与模式的结构不同。
Snowflake表结构具有以下列:城市档案_名称年份值
文件具有以下结构:1999年阿尔伯克基6.5
第一列没有标题。年份是从第二个标头开始的标头。到目前为止,我的计划是将数据加载到临时表中,将第一列别名为“City”,并取消年份/值数据的透视。
我将感谢任何帮助如何完成这一点或替代的想法!

clj7thdc

clj7thdc1#

阅读COPY INTO文档
1.我如何知道哪些数据来自哪个文件?
当您将文件复制到表中时,可以在SELECT语句中包含可用的元数据列,例如元数据$FILENAME。
1.数据加载
在你的文件中,你是如何界定每个记录中的字段的?在您的示例中,它们之间似乎有空格,但如果城市名称是“纽约”,这显然不起作用。
假设你有有效的csv文件,你只需要运行如下代码:

COPY INTO table_name (City, File_Name, Year, Value)
SELECT $2, METADATA$FILENAME, $1, $3
FROM stage_name
FILES = (or PATTERN = ) -- list the files (or a pattern for the files) that you want to load from the stage
FILE_FORMAT = xyz

相关问题