在 Delta Lake 和 Apache Spark 中引入开源 Variant 数据类型

在 Delta Lake 和 Apache Spark 中引入开源 Variant 数据类型

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

Databricks 引入了一种新的数据类型,称为 Variant,与 JSON 字符串相比,它在存储半结构化数据方面提供了更好的性能。这种数据类型允许支持嵌套和不断演变的模式,具有灵活性。Variant 对于涉及半结构化数据的用例特别有用,例如端点检测与响应(EDR)、广告点击分析和物联网遥测。Variant 的实现是开源的,将包含在 Spark 4.0 和 Delta 4.0 中。与字符串相比,它提供了更快的数据访问和导航。Variant 支持无模式数据源,并在性能上显著优于传统方法。

🎯

关键要点

  • Databricks 引入了一种新的数据类型 Variant,用于存储半结构化数据,性能优于 JSON 字符串。

  • Variant 支持嵌套和不断演变的模式,适用于端点检测与响应(EDR)、广告点击分析和物联网遥测等用例。

  • Variant 数据类型的实现是开源的,将包含在 Spark 4.0 和 Delta 4.0 中。

  • 与字符串相比,Variant 提供更快的数据访问和导航,支持无模式数据源。

  • Variant 允许用户在不定义显式模式的情况下,保持灵活性并提高性能。

  • 性能基准测试显示,Variant 在处理嵌套和扁平模式时,性能比字符串提高了 8 倍。

  • 用户可以使用新函数支持 Variant 类型,方便地检查模式、展开列和转换为 JSON。

  • Variant 数据类型、二进制表达式和二进制编码格式已合并到开源 Spark 中,支持 Delta。

  • 未来计划实现 Variant 类型的分片技术,以提高查询特定路径的性能。

  • Databricks Runtime 15.3 中将默认启用 Variant,用户可测试半结构化数据用例。

延伸问答

Variant 数据类型的主要优势是什么?

Variant 数据类型在存储半结构化数据时性能优于 JSON 字符串,提供更快的数据访问和导航。

Variant 数据类型适用于哪些用例?

Variant 特别适用于端点检测与响应(EDR)、广告点击分析和物联网遥测等用例。

如何在 Databricks 中使用 Variant 数据类型?

用户可以通过创建 Variant 类型的表列,使用 PARSE_JSON() 函数将 JSON 字符串转换为 Variant。

Variant 数据类型的开源实现包含哪些内容?

Variant 数据类型、二进制表达式和二进制编码格式已合并到开源 Spark 中,并支持 Delta。

Variant 数据类型在性能基准测试中表现如何?

在性能基准测试中,Variant 在处理嵌套和扁平模式时,性能比字符串提高了 8 倍。

未来对 Variant 数据类型有哪些计划?

未来计划实现 Variant 类型的分片技术,以提高查询特定路径的性能。

🏷️

标签

➡️

继续阅读