外部表的Snowflake外部舞台文件建议

时间:2020-07-03 15:03:52

标签: json snowflake-cloud-data-platform

专家

在以下情况下需要建议:

我们通过使用存储过程(使用横向展平查询的逻辑集)读取外部表,从S3中存储的JSON文件中动态解析JSON记录。我需要以下建议。

  1. 在S3中单独存储多个JSON文件,而无需合并并通过外部表进行访问。

  2. 将Source中的多个JSON文件合并为单个JSON(每个500 JSON转换为单个JSON)并通过外部表进行访问。

  3. 与步骤2相同-但是将其压缩并存储在S3中,并通过外部表进行访问。

同样的旧问题,外部阶段与内部阶段-在上述情况下建议使用。

谢谢

1 个答案:

答案 0 :(得分:0)

外部表不是实体化表,因此在查询时会从阶段中获取数据。

内部和外部阶段之间的选择: 这完全取决于您的要求。如果您已经有一个要保留文件的S3阶段,则最好在其上面创建一个外部阶段。 如果您不需要保留历史记录文件以进行审核,则可以使用PUT命令将文件放置在舞台上,从而使内部舞台具有更好的性能。

由于仅当查询外部表时才会从文件中获取数据,因此拥有多个文件或合并所有文件不会产生任何影响。但是,压缩将减少存储成本。