COPY 到 Snowflake table 而不定义 table 模式
COPY into Snowflake table without defining the table schema
有没有办法在不事先手动定义列的情况下将数据从 S3 复制到 Snowflake?
我不想在 Snowflake 中为 table 定义架构,也不想定义应从 S3 导入列的架构。我希望它是读时模式,而不是写时模式。
我正在使用存储集成来访问 S3 外部阶段。
我的问题有点类似于 ,但我不想单独定义任何列。如果有一种方法可以动态添加额外的列,那也可以解决我的问题。
我们目前没有 COPY 的架构推断。我假设您已经了解 JSON 的变体列选项,但它不会为您提供完整的模式化。
https://docs.snowflake.net/manuals/user-guide/semistructured-concepts.html
迪内什·库尔卡尼
(下午,雪花)
您需要使用第三方工具来分析整个 S3 数据文件,以便根据文件中的数据集构建 SQL 架构。或者,也许该工具可以访问数据源定义(Snowflake 没有)以简化该工具的工作。
您可能会通过在 Whosebug 的此处搜索来找到 Snowflake 存储过程代码片段,它通过例如输出模式定义。递归展平 JSON 个数据文件。
如果你希望导入灵活,你需要使用像JSON这样灵活的数据格式和像VARIANT
这样灵活的SQL数据类型。即使您的数据结构发生变化,这仍然有效。
如果您想使用严格的格式,例如 CSV 或严格的 SQL 数据类型(大多数都是严格的),那么事情就会变得复杂。刚性数据不灵活,例如 CSV 文件没有任何嵌入的类型信息,导致大量的非未来证明猜测。
也许您对所有列的结尾都为 VARCHAR
...
感到满意
有没有办法在不事先手动定义列的情况下将数据从 S3 复制到 Snowflake?
我不想在 Snowflake 中为 table 定义架构,也不想定义应从 S3 导入列的架构。我希望它是读时模式,而不是写时模式。
我正在使用存储集成来访问 S3 外部阶段。
我的问题有点类似于
我们目前没有 COPY 的架构推断。我假设您已经了解 JSON 的变体列选项,但它不会为您提供完整的模式化。 https://docs.snowflake.net/manuals/user-guide/semistructured-concepts.html
迪内什·库尔卡尼
(下午,雪花)
您需要使用第三方工具来分析整个 S3 数据文件,以便根据文件中的数据集构建 SQL 架构。或者,也许该工具可以访问数据源定义(Snowflake 没有)以简化该工具的工作。
您可能会通过在 Whosebug 的此处搜索来找到 Snowflake 存储过程代码片段,它通过例如输出模式定义。递归展平 JSON 个数据文件。
如果你希望导入灵活,你需要使用像JSON这样灵活的数据格式和像VARIANT
这样灵活的SQL数据类型。即使您的数据结构发生变化,这仍然有效。
如果您想使用严格的格式,例如 CSV 或严格的 SQL 数据类型(大多数都是严格的),那么事情就会变得复杂。刚性数据不灵活,例如 CSV 文件没有任何嵌入的类型信息,导致大量的非未来证明猜测。
也许您对所有列的结尾都为 VARCHAR
...