S3 选择操作

作为开发者,您可以将 S3 select API 用于高级分析应用程序 (例如 Spark-SQL) ,以提高等待时间和吞吐量。

有三个 S3 选择工作流程-CSV , Apache Parquet (Parquet) 和 JSON ,用于提供具有 CSV , Parquet 和 JSON 对象的 S3 选择操作:

  • CSV 文件以纯文本格式存储表格数据。 文件的每一行都是一条数据记录。
  • Parquet 是一种面向开源,面向列的数据文件格式,专为高效的数据存储和检索而设计。 它提供了具有增强性能的高效数据压缩和编码方案,以批量处理复杂数据。 它可用于单个,多个和归档站点。 Parquet 支持 S3 选择引擎跳过列和块,从而显着降低 IOPS (与 CSV 和 JSON 格式相反)。
  • JSON 使用 SQL 语句从 JSON 文档中扫描和抽取信息。 它可以通过各种方式嵌套,例如在对象或数组中。 这些对象和数组可以在彼此之间进一步嵌套,而不受任何限制。
  • JSON 是格式结构。 S3 选择引擎支持使用 JSON 阅读器在 JSON 格式输入数据的基础上使用 SQL 语句,从而支持扫描高度嵌套和复杂 JSON 格式的数据。

例如,具有几千兆字节数据的 CSV , Parquet 或 JSON S3 对象允许用户使用以下查询抽取由另一列过滤的单个列:

select customerid from s3Object where age>30 and age<65;

目前,在过滤和抽取数据之前, S3 对象必须通过 Ceph Object Gateway 从 Ceph OSD 检索数据。 当对象较大且查询更具体时,会提高性能。