【问题标题】:Snowflake object_construct unloading Key Order should be preserved as same. how to maintain the order not by alphabetical?雪花 object_construct 卸载键顺序应保持不变。如何保持不按字母顺序排列?
【发布时间】:2026-02-09 14:25:01
【问题描述】:

我使用下面的雪花复制命令返回一个内容为 json 的文件

复制到@elasticsearch/product/sf_index from (select object_construct('id',id, alpha,'alpha')from table limit 1) file_format = (type = json, COMPRESSION=NONE ), overwrite=TRUE, single = TRUE, max_file_size=5368709120;

json 文件中的输出是

{ 
    "alpha":"alpha", 
    "id" :"1"
}

我希望在此处保留顺序不按字母顺序排列?像这样

{
"id" :"1",
"alpha":"alpha",
}

任何解决方案? 提前致谢

【问题讨论】:

  • 什么是需要以任何特定顺序的属性?与您之前的帖子类似,这些对于 JSON 文档的要求似乎很奇怪。
  • 谢谢,此要求已删除。现在。谢谢

标签: snowflake-cloud-data-platform snowflake-schema snowflake-task snowflake-pipe snowflake-data-masking


【解决方案1】:

如果您强制对数据进行排序以实现此在 id 列上创建主键约束 (link) 并定义为 INT,则可以保留顺序。

在加载数据时,将 id 列转换为 int (links)

【讨论】:

  • 这将强制记录的顺序,而不是属性的顺序,这是 OP 的问题。