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 增量表
Databricks - 从增量表写入流到 orc 文件的读取流仅具有更改