![]() |
烦恼的手术刀 · 被高校和设计师极力追捧,却被行业大咖称为“骗 ...· 5 月前 · |
![]() |
豁达的枇杷 · 雄商高铁最新进展:聊城段征地已完成,预计20 ...· 8 月前 · |
![]() |
咆哮的牛肉面 · 联想小新M7268W:爸爸妈妈再也不担心我的 ...· 9 月前 · |
![]() |
健壮的眼镜 · sana动漫神父受胎,花臂夫夫凉太合集都看完 ...· 9 月前 · |
![]() |
刀枪不入的匕首 · 【比亚迪海狮】比亚迪海洋_比亚迪海狮报价_比 ...· 1 年前 · |
本文列出了新的 Databricks SQL 功能和改进,以及已知问题和常见问题解答。
Databricks 将持续发布对 Databricks SQL Web 应用程序用户界面的更新,所有用户都获得相同的更新,并在短时间内推出。
此外,Databricks 通常会定期发布新的 SQL 仓库计算版本。 两个 通道 始终可用:“预览”和“当前”。
发布分阶段进行。 你的 Databricks 帐户只有在初始发布日期后一周或更长时间之后才可能更新为新的 SQL 仓库版本或 Databricks SQL 功能。
Databricks SQL Serverless 在 Azure 中国区域不可用。 Databricks SQL 在 Azure 政府区域不可用。
通道可让你选择是使用当前 SQL 仓库计算版本还是预览版本。 预览版可让你在某些功能成为 Databricks SQL 标配之前试用这些功能。 利用预览版本针对即将发生的更改测试你的生产查询和仪表板。
通常,预览版本会在发布到预览版通道大约两周后升级为当前通道。 某些功能(如安全功能、维护更新和 bug 修复)可能会直接发布到当前通道。 Databricks 可能会经常将预览版本提升到当前的通道,并按不同的时间表进行。 每个新版本将在以下部分中公布。
若要了解如何将现有 SQL 仓库切换到预览版通道,请参阅 预览版通道 。 用户界面更新部分列出的功能独立于发行说明的 修复的问题 部分描述的 SQL 仓库计算版本。
当前版频道:Databricks SQL 版本 2023.20 预览频道:Databricks SQL 版本 2023.26
EXTERNAL_LINKS
处置现在支持
JSON_ARRAY
格式。 可以使用预签名 URL 提取最多 100 GiB 的 JSON 格式数据。 JSON 的
INLINE
限制为 16 MiB。
推出时间表
2023.26 中的更改
CREATE TABLE LIKE
功能。
TIMESTAMP_NTZ
类型表示由年、月、日、小时、分钟和秒字段组成的值。 无论时区如何,都会执行所有操作。 请参阅
TIMESTAMP_NTZ 类型
。
QUERY_RESULT_TABLE
标记,在警报中发送带格式的结果。
推出时间表
2023.20 中的更改
FROM
子句中调用表值生成器函数。
from_protobuf
和
to_protobuf
函数在二进制和结构类型之间交换数据。 请参阅
读取和写入协议缓冲区
。
update
、
delete
和
merge
命令相关的空事务的 Delta 提交行为一致性。
Total
现在会计算笔记本透视表中超过 100 X 100 个单元格的所有数据,最多返回 64k 个结果。
GROUP BY ALL
语法。
解决方法:
TINYINT
现在在笔记本的结果表中受支持。
解决方法:
range()
和 Python UDF
create
函数。
DESCRIBE DETAILS
。
SELECT *
的侧面板上查看可能列的列表。
CREATE TABLE
和
OVER
。
SUM
、
COUNT
和
AVG
)的聚合警报。
CREATE MATERIALIZED VIEW
。
解决方法:
created_at
排序时不返回正确排序顺序的问题。
WHERE
关键字的问题。
将查询结果下载到 Excel 的行限制已从 64,000 行增加到 100,000 行。 CSV 和 TSV 下载限制保持不变(大约 1 GB 数据)。
自动完成现在支持
LIST
语法、URL 和凭据。
合并了“修复”建议面板并已将其现代化。
为 Databricks SQL 引入了新的仓库类型 Databricks SQL Pro。 此仓库类型使 Databricks SQL 仓库能够使用工作流集成、查询联合、地理空间功能和预测性 IO。
解决方法:
COMMENT ON
指令。
EXTERNAL
现在是保留的表属性。 如果在属性中指定
EXTERNAL
,则命令
CREATE TABLE ... TBLPROPERTIES
和
ALTER TABLE ... SET TBLPROPERTIES
将失败。
format_string(strfmt, obj, ...)
和
printf(strfmt, obj, ...)
中的
strfmt
不再支持使用
0$
作为第一个参数。 使用参数索引指示参数在参数列表中的位置时,第一个参数应由
1$
引用。
lpad
和
rpad
函数现在可以正常使用
BINARY
字符串输入。
BINARY
字符串输入的
lpad
和
rpad
的输出现在是
BINARY
字符串。
解决方法:
LIST
操作的自动补全支持。
解决方法:
Null
作为有效值的问题。
解决方法:
解决方法:
解决方法:
对于 Databricks SQL,Unity Catalog(公共预览版)在预览通道中可用。 有关详细信息,请参阅 什么是 Unity Catalog? 。
文档:警报 API 文档已发布。
可视化效果:用户现在可以设置日期筛选器的默认值。 每当在查询或仪表板上刷新筛选器时,都将应用默认值。
解决方法:
::
语法的旧筛选器。
Create Table
UI 上传 TSV 文件。
<Cmd> + <Shift> + <Option> + T
创作改进:
SELECT AVG(price_per_sqft), isStudio, location GROUP BY location, isStudio
,则图表编辑器以前需要明确指定另一个聚合层。
date_trunc()
函数),在每年、每月、每日或每小时的数据箱之间轻松切换。
Unity Catalog 要求 SQL 终结点使用版本 2022.11,它在预览版 通道 中。
This visualization uses an old configuration. New visualizations support aggregating data directly within the editor.
”,如果要利用新功能,则必须重新创建可视化效果。 请参阅
在可视化效果中启用聚合
。
现在,你可以 为仪表板设置自定义调色板 。 该仪表板中显示的所有可视化效果都将使用指定的调色板。 设置自定义选项板不会影响可视化效果在其他仪表板或 SQL 编辑器中的显示方式。
你可以为调色板指定十六进制值或从另一个调色板导入颜色,无论是由 Databricks 提供还是由工作区管理员创建。
将调色板应用于仪表板时,默认情况下,该仪表板中显示的所有可视化效果都将使用选定的调色板,即使你在创建可视化效果时配置了自定义颜色也是如此。 若要覆盖此行为,请参阅 自定义可视化效果的颜色 。
工作区管理员现在可以使用管理控制台 创建自定义调色板 。 创建自定义调色板后,可在新仪表板和现有仪表板中使用自定义调色板。 若要对仪表板使用自定义调色板或对其进行自定义,可以编辑仪表板设置。
当你从 SQL
菜单向仪表板添加使用参数的可视化效果时,可视化效果现在默认使用仪表板级参数。 这与你在仪表板中使用“添加可视化效果”按钮添加小组件时的行为一致。
查看查询历史并按参数组合筛选列表时,现在会显示匹配查询的数量。
在可视化效果中,修复了无法将 Y 轴范围调整为特定值的问题。
标签式 SQL 编辑器现在默认为所有用户启用。 有关更多信息或禁用标签式编辑器,请参阅 编辑多个查询 。
仪表板电子邮件订阅者现在会收到一个内联映像,其中显示仪表板快照,而不是附件。 快照的 PDF 将附加到电子邮件中。
现在,你可以通过为 SQL 终节点配置现成虚拟机实例策略来平衡可靠性和成本。 现成虚拟机实例策略确定工作器是仅使用按需实例还是同时使用按需实例和现成虚拟机实例。 “成本优化”(默认)主要使用现成虚拟机实例和一个按需实例。 “可靠性优化”仅使用按需实例。 以前,SQL 终结点始终采用按需实例。 要保留此行为,请将现成虚拟机实例策略设置为“可靠性优化”。 请参阅 配置现成实例策略 。
改进了查看、共享和导入查询配置文件的方式。 请参阅 查询配置文件 。
“详细信息”可视化效果现在允许你重命名列,就像“表”可视化效果一样。
现在可以通过中键单击 SQL 编辑器中的标签页来关闭标签页。
以下键盘快捷键已添加到标签式 SQL 编辑器中:
这些键盘快捷键提供了右键单击选项卡以访问相同操作的替代方法。 若要查看所有键盘快捷方式,请在选项卡式 SQL 编辑器中单击
“键盘”图标。
10002343
等值将不再有逗号。 若要设置这些类型的格式以使用逗号显示,请单击“编辑可视化效果”,展开列的区域,然后修改格式以包含逗号。
*
)。
500000
的结果进行着色,请创建阈值
> 500000
,而不是
> 500,000
。 请参阅
有条件地设置列颜色格式
。
查看查询的历史记录时,现在可以在运行查询的服务主体上筛选查询。 请参阅 查看查询历史记录 。
你现在可以使用侧边栏快捷方式打开 SQL 编辑器。 若要打开 SQL 编辑器,请单击“SQL 编辑器”。
如果你有权创建数据科学和工程群集,现在可以通过单击侧栏中的“创建”并单击“SQL 终结点”来创建 SQL 终结点。
管理员现在可以通过 UI 将查询、仪表板或警报的所有权转让给其他用户。 请参阅:
Cmd+Alt+T
Cmd+Option+T
Cmd+Alt+W
Cmd+Option+W
Cmd+Alt+O
Cmd+Option+O
GROUP BY
。 请参阅
分组
。
{{ @@yPercent}}
在非规范化堆积条形图中设置数据标签的格式。 请参阅
堆叠
。
BIGINT
结果大于 9007199254740991 时,现在会被串行化为字符串。 这修复了
BIGINT
结果在查询结果中可能被截断的问题。 其他整数结果仍序列化为数字。 轴标签和工具提示上的数字格式设置不适用于序列化为字符串的
BIGINT
结果。 有关 Databricks SQL 中的数据类型的信息,请参阅
BIGINT 类型
。
Databricks 将在一周的时间内推出后续更改。 直到 9 月 7 日之后,你的工作区才可能启用这些更改。
Databricks SQL 现提供公共预览版,并对新工作区中的所有用户启用。
如果你的工作区在公共预览版期间(即 2021 年 9 月 7 日开始的一周之前)启用了 Databricks SQL,用户将保留在该日期之前分配的权利,除非你对其进行更改。 换句话说,如果用户在公共预览版期间没有访问 Databricks SQL 的权限,那么除非管理员授予他们权限,否则他们现在不会拥有权限。
管理员可通过向用户或组分配“Databricks SQL 访问权限”权利(API 中的 )来管理哪些用户有权访问 Databricks SQL。 新用户默认具有此权利。
管理员可限制用户或组仅访问 Databricks SQL,并且可通过从用户或组中删除“工作区访问权限”权利(API 中的
workspace-access
)来防止他们访问数据科学与工程或 Databricks 机器学习。 新用户默认具有此权利。
若要登录并访问 Azure Databricks,用户必须具有“Databricks SQL 访问权限”或“工作区访问权限”,或两者兼有 。
有关详细信息,请参阅 授予用户对 Databricks SQL 的访问权限 。
一个名为 Starter Endpoint 的小型 经典 SQL 端点 已在所有工作区预配,使你可以立即开始创建仪表板、可视化效果和查询。 为了处理更复杂的工作负载,可轻松地增大其大小(以减少延迟)或增加底层群集的数量(以处理更多并发用户)。 为了管理成本,Starter Endpoint 被配置为在空闲 120 分钟后终止。
为了帮助你快速启动和运行,管理员和用户可以使用全新的引导式加入体验。 默认情况下,加入面板可见,你始终可以在边栏中查看剩余的加入任务数量。 单击“剩余任务”以重新打开加入面板。
可通过名为
SAMPLES
的只读目录中的两个丰富数据集快速开始使用Databricks SQL,该目录可在所有工作区中使用。 在了解 Databricks SQL 时,可使用这些架构来创建查询、可视化效果和仪表板。 无需配置,并且所有用户都有权访问这些架构。
nyctaxi
架构包含
trips
表中的出租车行程数据。
tpch
架构包含下表中的零售收入和供应链数据:
customer
lineitem
nation
orders
partsupp
region
supplier
单击加入面板中的“运行第一个查询”,生成
nyctaxi
架构的新查询。
若要了解如何在 Databricks SQL 中对数据进行可视化,而无需进行任何配置,可以从
仪表板示例库
中导入仪表板。 这些仪表板由
SAMPLES
目录中的数据集提供支持。
若要查看仪表板示例库,请单击加入面板中的“导入示例仪表板”。
你现在可以使用 CREATE FUNCTION 和 DROP FUNCTION 命令创建和删除本机 SQL 函数。
对仪表板具有“可编辑”权限的用户现在可管理仪表板的刷新计划和订阅列表。 之前,需要具备“可管理”权限。 有关详细信息,请参阅 自动刷新仪表板 。
默认情况下,可视化效果不再根据返回的结果数动态重设大小,而是无论结果数如何,都维持相同的高度。 若要返回到之前的行为并配置可视化效果来动态重设大小,请在仪表板的可视化效果设置中启用“动态调整面板高度”。 有关详细信息,请参阅 表可视化效果 。
如果你有权访问同一帐户中的多个工作区,则可在 Databricks SQL 中切换工作区。 在 Azure Databricks 工作的左下角,单击
,然后选择一个工作区来切换到它。
EXPLAIN
结果格式
CREATE GROUP
、
DROP GROUP
、
ALTER GROUP
、
SHOW GROUPS
和
SHOW USERS
命令轻松管理用户和组。 有关详细信息,请参阅
Security 语句
和
Show 语句
。
Web UI 中的引用已更新。
已重命名 授予 Databricks SQL 访问权限 的权利:
sql-analytics-access
)
具有旧权利的用户、组和服务主体已迁移到新权利。
与 Databricks SQL 相关的 审核日志事件 标记已更改:
databrickssql
。
changeSqlAnalyticsAcl
现为
changeDatabricksSqlAcl
。
现在,可以使用 Azure Key Vault 中你自己的密钥来加密存储在 Azure Databricks 中的 SQL 查询和 Databricks 查询历史记录。 如果已配置自己的工作区密钥来加密托管服务的数据(笔记本和机密),则无需执行进一步操作。 用于托管服务的客户管理的密钥现在还加密 Databricks SQL 查询和查询历史记录。 请参阅 为托管服务启用客户管理的密钥 。 此更改仅影响存储在其他位置的新数据。 今天之前存储的 Databricks SQL 查询和查询历史记录不一定使用此密钥进行加密。
Databricks SQL 查询结果存储在根 Azure Blob 存储实例中,该实例由 Azure Databricks 在工作区设置过程中创建,不由你的托管服务密钥加密。 但是,你可以使用自己的密钥来加密它们。 请参阅 为 DBFS 根配置客户管理的密钥 。
此功能在 高级计划 中提供。
“过去的执行”选项卡现在显示相对时间。
Databricks SQL 不再尝试猜测列类型。 以前,即使采用
xxxx-yy-dd
格式的列是标识代码,系统也将它当做日期处理。 而现在,系统不再将此列自动看做是日期。 如果需要,必须在查询中指定它。 此更改可能导致某些依赖先前行为的可视化效果失效。 在此版本中,可通过更改
>“设置”>“向后兼容性”选项,返回到之前的行为。 在未来版本中,我们将删除此功能。
查询编辑器现在有一个查询进度指示器。 状态更改现显示在不断更新的进度栏中。
“数据源”:从可用的数据源和架构中进行选择。 请参阅 在 SQL 编辑器中创建查询 。
Databricks SQL 保持了与 Apache Spark SQL 语义的兼容性。 此版本更新了语义以匹配 Apache Spark 3.1 的语义。 之前的 Databricks SQL 语义与 Apache Spark 3.0 的语义匹配。
std
、
stddev
、
stddev_samp
、
variance
、
var_samp
、
skewness
、
kurtosis
、
covar_samp
和
corr
)在表达式求值期间发生
DivideByZero
时(例如,
stddev_samp
应用于单个元素集时)会返回
NULL
而不是
Double.NaN
。 在此版本之前,会返回
Double.NaN
。
grouping_id()
返回长值。 在此版本之前,此函数返回 int 值。
from_unixtime
、
unix_timestamp
、
to_unix_timestamp
、
to_timestamp
和
to_date
将失败。 在此版本之前,会返回
NULL
。
org.apache.spark.sql.AnalysisException
:“在读取的数据架构中发现重复列。”
{}
括号将它们括起来。 例如,
show()
操作和
CAST
表达式会使用此类括号。在此版本之前,是使用 d 括号来实现此用途。
NULL
元素转换为空字符串。
INTERVAL '1'
、
INTERVAL '1 DAY 2'
),将返回
IllegalArgumentException
。 在此版本之前,这些文本会生成 Null。
1900-01-01 00:00:00Z
且加载(保存)为
INT96
类型,则从和向 Parquet 文件加载和保存时间戳将失败。 在此版本之前,这些操作不会失败,但可能会因为变基而导致输入的时间戳在公历和前公历之前转换。
schema_of_json
和
schema_of_csv
函数以 SQL 格式返回架构,其中字段名称会用引号引起来。 在此版本之前,函数会返回一个目录字符串,其中字段不带引号并采用小写形式。
CHAR
、
CHARACTER
和
VARCHAR
类型。 表扫描和插入遵循 char/varchar 语义。 如果将 char/varchar 用于表架构以外的地方,会引发异常(CAST 是一种异常,会直接将 char/varchar 视为类似于之前的字符串)。
ALTER TABLE .. ADD PARTITION
会引发
PartitionsAlreadyExistException
。
ALTER TABLE .. DROP PARTITION
会引发
NoSuchPartitionsException
。
用于 Azure Databricks 的新 Power BI 连接器在 2020 年 9 月发布了公开预览版,现已推出 GA 版。 提供以下功能:
有关详细信息,请参阅 将 Power BI 连接到 Azure Databricks 。
SHOW GRANTS [<user>] <object>
:
<object>
的所有者。
[<user>]
中指定的用户。
TEXT
类型的查询参数,将不再向查询参数添加引号。 如果已使用
Dropdown List
、
Query Based Dropdown List
或任意
Date
类型的查询参数,则必须添加引号才能运行查询。 例如,如果查询是
SELECT {{ d }}
,则现在此查询必须为
SELECT '{{ d }}'
。
Databricks 很高兴地推出 Databricks SQL 公共预览版(一个直观的环境,可用于运行临时查询和基于数据湖中存储的数据创建仪表板)。 Databricks SQL 让组织能够运行多云 lakehouse 体系结构 ,该体系结构可提供数据仓库性能,且具有 Data Lake 经济性。 Databricks SQL:
USAGE
特权,以简化数据访问管理。 为了使用架构中的对象,除了执行该操作所需的所有特权以外,还必须获得该架构的 USAGE 特权。 可以将
USAGE
特权授予架构或目录。 对于已使用表访问控制的工作区,
USAGE
特权会自动授予给根
CATALOG
上的用户组。 有关详细信息,请参阅
Hive 元存储特权和安全对象(旧版)
。
有关详细信息,请参阅 什么是 Azure Databricks 上的数据仓库? 。 请联系 Databricks 代表,以申请访问权限。
DESCRIBE DETAIL
命令不再失败并产生
java.lang.ClassCastException: java.sql.Timestamp cannot be cast to java.time.Instant.
INT96
时间戳的 Parquet 文件不再失败。
DESCRIBE <table>
命令来确保元存储中的信息已更新。
Databricks SQL 工作负载按 标准作业计算 SKU 收费。
与 Azure Databricks 群集一样,SQL 终结点也要在 Azure 帐户中进行创建和管理。 SQL 终结点在你的帐户中自动管理 SQL 优化的群集,并根据最终用户需求进行缩放。
否。 可以从 Databricks SQL 查询 BI 工具 和其他 JDBC 和 ODBC 客户端 使用 SQL 终结点。
在 Databricks SQL 中,对数据的所有访问都受限于数据访问控制,管理员或数据所有者必须首先授予你适当的 权限 。