如何在指定数据类型的同时将数据从 S3 加载到雪花中
How can I load data into snowflake from S3 whilst specifying data types
我知道可以通过创建文件格式类型为 csv
的外部阶段然后加载,将数据从 S3 中的文件(例如 csv、parquet 或 json)加载到雪花中它变成一个 table 和 1 列类型 VARIANT
。但这需要一些手动步骤来将此数据转换为正确的类型以创建可用于分析的视图。
有没有办法从 S3 自动执行此加载过程,以便 table 列数据类型从 CSV 文件推断或通过其他方式在别处指定? (类似于如何使用推断的 table 架构从 GCS 中的 csv 文件在 Google BigQuery 中创建 table)
截至今天,您采用的单一 Variant 列解决方案是您可以使用 Snowflake 开箱即用工具获得的最接近于实现您的目标的解决方案,据我从您的问题中了解到,就是让加载过程推断源文件结构。
事实上,COPY 命令需要通过 FILE_FORMAT.
了解要从中加载数据的预期文件的结构
更多详情:https://docs.snowflake.com/en/user-guide/data-load-s3-copy.html#loading-your-data
我知道可以通过创建文件格式类型为 csv
的外部阶段然后加载,将数据从 S3 中的文件(例如 csv、parquet 或 json)加载到雪花中它变成一个 table 和 1 列类型 VARIANT
。但这需要一些手动步骤来将此数据转换为正确的类型以创建可用于分析的视图。
有没有办法从 S3 自动执行此加载过程,以便 table 列数据类型从 CSV 文件推断或通过其他方式在别处指定? (类似于如何使用推断的 table 架构从 GCS 中的 csv 文件在 Google BigQuery 中创建 table)
截至今天,您采用的单一 Variant 列解决方案是您可以使用 Snowflake 开箱即用工具获得的最接近于实现您的目标的解决方案,据我从您的问题中了解到,就是让加载过程推断源文件结构。
事实上,COPY 命令需要通过 FILE_FORMAT.
了解要从中加载数据的预期文件的结构更多详情:https://docs.snowflake.com/en/user-guide/data-load-s3-copy.html#loading-your-data