Snowflake - 如何从 S3 中的镶木地板文件中读取元数据

Snowflake - how to read metadata from parquet files in S3

我们在 Snowflake 数据库中使用外部 tables,以便从某些 AWS S3 存储桶中读取数据。桶包含各种镶木地板文件,分布在多个分区。

我们可以使用 Snowflake 的 stagesstorage integrations文件格式.

但是,我们也想从 parquet 文件中读取一些 元数据,例如数值数据类型的 precision (例如,找出我们必须处理多少位小数)。

为简单起见,假设我们正在从一个镶木地板文件中读取数据。

是否有任何方法可以直接从 Snowflake 从该镶木地板文件中检索关于数字数据类型精度的元数据?

或者您更愿意从 Glue Catalog 或任何其他外部工具中提取元数据?

最近有一个 public 预览可以推断将执行此操作的架构:

INFER_SCHEMA(
  LOCATION => '{ internalStage | externalStage }'
  , FILE_FORMAT => '<format_name>'
)

https://docs.snowflake.com/en/sql-reference/functions/infer_schema.html