为什么在缺少镶木地板模式时将镶木地板文件复制到雪花中?
Why copying a parquet file into snowflake when the parquet schema is missed?
我对下一个场景感到困惑:
我有一个 parquet 文件到 S3
我将parquet文件复制到Snowflake中(指定压缩Snappy并格式化Parquet)。
文件被复制到我的 table 中,我可以看到原始列,镶木地板值看起来像 json。这是我的困惑,这个值是 json,镶木地板架构丢失了。
所以我想知道。我知道使用 Parquet 的好处,但实际上我不知道为什么当您错过一些重要的信息(例如架构)时,将 parquet 文件复制到 Snowflake 是好的。
当我从具有不同结构的不同文件加载原始数据时,我的问题就出现了。然后我必须从多个 table 中一个一个地提取和转换每个数据结构的字段。我想知道在使用 parquet 时是否有更好的方法来更通用地依赖模式。
这是我在 Snowflake 中处理半结构化数据最喜欢的方式:将其复制为 VARIANT 类型。
但如果您想直接使用模式,那么好消息 — Snowflake 正在改进其自动检测能力:
- https://www.snowflake.com/blog/schema-detection-public-preview/
- https://medium.com/snowflake/snowflake-schema-detection-feature-overview-e24b0a999884
INFER_SCHEMA retrieves and returns the schema from a set of staged files.
GENERATE_COLUMN_DESCRIPTION returns the list of columns necessary to create a table, external table, or view. Here you can modify the columns or data types before you complete the creation of the object.
CREATE TABLE … USING TEMPLATE expands upon Snowflake’s CREATE TABLE functionality to automatically create the structured table using the detected schema from the staged files with no additional input.
我对下一个场景感到困惑:
我有一个 parquet 文件到 S3
我将parquet文件复制到Snowflake中(指定压缩Snappy并格式化Parquet)。
文件被复制到我的 table 中,我可以看到原始列,镶木地板值看起来像 json。这是我的困惑,这个值是 json,镶木地板架构丢失了。
所以我想知道。我知道使用 Parquet 的好处,但实际上我不知道为什么当您错过一些重要的信息(例如架构)时,将 parquet 文件复制到 Snowflake 是好的。
当我从具有不同结构的不同文件加载原始数据时,我的问题就出现了。然后我必须从多个 table 中一个一个地提取和转换每个数据结构的字段。我想知道在使用 parquet 时是否有更好的方法来更通用地依赖模式。
这是我在 Snowflake 中处理半结构化数据最喜欢的方式:将其复制为 VARIANT 类型。
但如果您想直接使用模式,那么好消息 — Snowflake 正在改进其自动检测能力:
- https://www.snowflake.com/blog/schema-detection-public-preview/
- https://medium.com/snowflake/snowflake-schema-detection-feature-overview-e24b0a999884
INFER_SCHEMA retrieves and returns the schema from a set of staged files.
GENERATE_COLUMN_DESCRIPTION returns the list of columns necessary to create a table, external table, or view. Here you can modify the columns or data types before you complete the creation of the object.
CREATE TABLE … USING TEMPLATE expands upon Snowflake’s CREATE TABLE functionality to automatically create the structured table using the detected schema from the staged files with no additional input.