snowflake-cloud-data-platform - 我可以让 Snowflake 从所有 CSV 列和第一行作为标题创建阶段吗?
问题描述
目前,当我从 CSV 创建阶段时,我需要通过 $column_position手动指定列,然后为每个列设置别名。
例如 CSV 标头:employer_code、employer_name...等。选择语句:SELECT $1 雇主代码、$2、雇主名称...等。
我一直在查看文档中的选项并寻找这个答案,但我似乎找不到基本上会采用的选项;
- CSV 中的每一列,以及
- 第一行数据作为表头值
这似乎应该是可用的 OoTB 的东西,但看不到如何工作。
有什么线索吗?
提前谢谢。
解决方案
在这里找到一个基本上可以满足您要求的雪花:
https://github.com/Snowflake-Labs/Excelerator/blob/master/SnowflakeExcelAddin_Stored_Procedures.sql
UDF 的名称是create_table_from_file_and_load_work()
- 它最好从暂存文件中猜测标题和数据类型。
它允许您使用文件的第一行作为数据类型或列的名称:
firstColumnFromFirstowFromFile = arrayFirstRow[0].toUpperCase();
// 检查第一个 col 是否为数据类型。如果不是,那么它的列标题
如果未提供每列的类型,get_datatype()
则调用 UDF - 这是最好的猜测。
推荐阅读
- powershell - 使用powershell在文本文件中查找多行字符串
- vue.js - 我可以在 vue 中观看提交按钮或功能吗?
- ios - Swift UIPageViewController - 用于请求的脊椎位置 (UIPageViewControllerSpineLocationMin)
- java - 无法使用 elasticsearch-keystore 命令读取值
- java - 我如何捕获请求标头中动态变化的引用值
- node.js - WAV 标头指示不支持的格式。在谷歌云语音到文本 API
- ios - 添加新数据时可编码和 firebase 警告会导致错误。任何解决方法?
- image - 我想将资产文件夹中的自定义页脚图像放置到我的应用程序屏幕底部的颤振应用程序中
- c - PAM 在 C 中对用户进行身份验证
- java - 以编程方式将库添加到引用的库