Databricks 无服务器计算机 - 写回增量表

Posted

技术标签:

【中文标题】Databricks 无服务器计算机 - 写回增量表【英文标题】:Databricks Serverless Computer - writeback to delta tables 【发布时间】:2021-09-05 23:20:17 【问题描述】:

Databricks 无服务器计算 - 我知道这仍处于预览阶段,是应要求提供的,仅在 AWS 上可用。

这可以用于读写(更新) .delta 表[或者]它是只读的吗?

运行小型查询(本质上是事务性的)是否很好? [或者] 使用 Azure SQL 是不是很好?

对于小型查询,Azure SQL (az sql) 的性能似乎比 Databricks 更快。

由于 Dataricks 在从 .delta 表查询时必须遍历 Hive Metastore - 这会影响性能吗?

【问题讨论】:

嗯,根据我的经验,当 Synapse 中的某些语法(我正在使用 Azure Synapse)尚不可用时,我使用 Azure Databricks 转换数据,例如:GROUP BY CUBE。为了性能,我仍然建议在 SQL 上转换数据(这里我使用的是 Azure Synapse) 我正在使用 databricks 使用 GROUP BY CUBE 转换数据并将其写入 delta,我得到了 10 小时的估计时间,而在 Azure Synapse 上执行此操作只需要 4 分钟。这仍然在我的Issue 【参考方案1】:

根据Release Notes(2021 年 6 月 17 日),新的光子执行器已针对 SQL 端点开启,它确实还支持写入 Delta 表(和 Parquet)。

如果您想对一组数据运行大量小查询,那么我会说 Az SQL 交互(或从 Delta 表中获取的 SparkDataFrame 上的操作)应该总是优于 SQL 运行中表达的相同事物直接针对 Delta Lake 表,因为后者必须代表您协商版本化 parquet 文件和 Delta Lake 事务日志。

【讨论】:

没错,我很少有从云源(例如:salesforce、动态)获取数据的用例,我需要托管这个配置表(水印表),这些表纯粹用于 Azure 数据工厂工作流管理.这些管道只会从源系统获取数据,并以 .csv 或 .parquet 格式进入湖中。对于这种类型的配置,我认为 Az SQL 是最好的地方,因为不需要处理(databricks)

以上是关于Databricks 无服务器计算机 - 写回增量表的主要内容,如果未能解决你的问题,请参考以下文章

将 Azure Databricks 增量表迁移到 Azure Synapse SQL 池

Databricks 增量表与 SQL Server 增量表

使用python截断Databricks中的增量表

Databricks - 从增量表写入流到 orc 文件的读取流仅具有更改

为啥我不能从 azure data studio 或 databricks 查询突触无服务器视图?

是否可以通过 azure databricks 连接到无服务器 sql 池?