以下发行说明提供了由 Apache Spark 3.2.1 提供支持的 Databricks Runtime 10.3 和 Databricks Runtime 10.3 Photon 的相关信息。
Photon
处于
公共预览版
。 Databricks 于 2022 年 2 月发布了这些映像。
新增功能和改进
现在,Parquet 和 Avro 编写器在 Parquet 数据源中重新设置时间戳时使用会话时区
Spark SQL 中的新函数
低随机合并现已正式提供
新的 COPY INTO 功能:验证模式和架构演变
Delta 表现在支持标识列(公共预览版)
现在,Parquet 和 Avro 编写器在 Parquet 数据源中重新设置时间戳时使用会话时区
现在,Parquet 和 Avro 编写器使用会话时区,而时间戳在
legacy
模式下变基,而不是使用默认的 JVM 时区。 默认情况下,会话时区设置为 JVM 时区。
Spark SQL 中的新函数
此版本现在支持以下 Spark SQL 函数:
aes_decrypt
:使用 AES 解密输入。
aes_encrypt
:使用 AES 加密输入。
contains
:确定一个表达式是否包含另一个表达式。
endswith
:确定一个表达式是否以另一个表达式结尾。
percentile_cont
:返回一个百分位值。
startswith
:确定一个表达式是否以另一个表达式开头。
低随机合并现已正式发布
Delta 命令
MERGE INTO
使用一种称为
低随机合并
的技术,可减少未修改行的随机。 这提高了命令的性能并有助于保留表上的现有集群,例如 Z 排序。 此功能是在 Databricks Runtime 9.0 公共预览版中引入的,现已正式发布。 要启用低随机合并,请将
spark.databricks.delta.merge.enableLowShuffle
设置为
true
。 请参阅
Azure Databricks 上的低随机合并
。
新的 COPY INTO 功能:验证模式和架构演变
验证模式:
COPY INTO
现在支持
VALIDATE
模式,在这种模式下,要加载到表中的数据会经过验证,但不写入表中。 这些验证包括:
是否可以解析数据。
架构是否与表匹配,或者架构是否需要演变。
是否满足所有可空性和检查约束。
示例用法:
COPY INTO <table>
FROM <path_to_files>
FILEFORMAT = <format>
VALIDATE [ALL | <num_rows> ROWS]
默认是验证所有要加载的数据。 你可以提供要使用 ROWS
关键字验证的行数,例如 VALIDATE 15 ROWS
。 当小于 50 的数字与 ROWS
关键字一起使用时,COPY INTO
语句返回 50 行或更少的数据的预览)。
架构演变:COPY INTO
现在通过 COPY_OPTIONS
中的 mergeSchema
选项来支持架构演变。 要演化表的架构,你必须对表具有 OWN
权限。
用法示例:
COPY INTO <table>
FROM <path_to_files>
FILEFORMAT = <format>
COPY_OPTIONS ('mergeSchema' = 'true')
请参阅 COPY INTO。
Delta 表现在支持标识列(公共预览版)
Delta Lake 现在支持标识列。 当你写入定义标识列的 Delta 表,并且你不提供该列的值时,Delta 现在会自动分配唯一且以统计方式增加或减少的值。 请参阅 CREATE TABLE [USING]。
升级了 Python 库:
- distlib 已从 0.3.3 升级到 0.3.4
- filelock 已从 3.4.0 升级到 3.4.2
- numpy 已从 1.19.2 升级到 1.20.1
- plotly 已从 5.3.1 升级到 5.5.0
- 升级了 R 库:
- backports 已从 1.4.0 升级到 1.4.1
- brio 已从 1.1.2 升级到 1.1.3
- broom 已从 0.7.10 升级到 0.7.11
- class 已从 7.3-19 升级到 7.3-20
- cpp11 已从 0.4.1 升级到 0.4.2
- DBI 已从 1.1.1 升级到 1.1.2
- devtools 已从 2.4.2 升级到 2.4.3
- digest 已从 0.6.28 升级到 0.6.29
- dtplyr 已从 1.1.0 升级到 1.2.0
- fansi 已从 0.5.0 升级到 1.0.2
- foreign 已从 0.8-81 升级到 0.8-82
- fs 已从 1.5.0 升级到 1.5.2
- gert 已从 1.4.3 升级到 1.5.0
- glue 已从 1.5.0 升级到 1.6.0
- httpuv 已从 1.6.3 升级到 1.6.5
- jsonlite 已从 1.7.2 升级到 1.7.3
- knitr 已从 1.36 升级到 1.37
- MASS 已从 7.3-54 升级到 7.3-55
- Matrix 已从 1.3-4 升级为 1.4-0
- nlme 已从 3.1-152 升级到了 3.1-155
- nnet 已从 7.3-16 升级到 7.3-17
- openssl 已从 1.4.5 升级到 1.4.6
- parallelly 已从 1.29.0 升级到 1.30.0
- pkgbuild 已从 1.2.0 升级到 1.3.1
- pkgload 已从 1.2.3 升级到 1.2.4
- progressr 已从 0.9.0 升级到 0.10.0
- Rcpp 已从 1.0.7 升级到 1.0.8
- readr 已从 2.1.0 升级到 2.1.1
- remotes 已从 2.4.1 升级到 2.4.2
- RSQLite 已从 2.2.8 升级到 2.2.9
- sessioninfo 已从 1.2.1 升级到 1.2.2
- sparklyr 已从 1.7.2 升级到 1.7.4
- testthat 已从 3.1.0 升级到 3.1.1
- tinytex 已从 0.35 升级到 0.36
- usethis 已从 2.1.3 升级到 2.1.5
- vroom 已从 1.5.6 升级到 1.5.7
- withr 已从 2.4.2 升级到 2.4.3
- xfun 已从 0.28 升级到 0.29
- xml2 已从 1.3.2 升级到 1.3.3
- 升级了 Java 库: