我在 Azure 存储帐户(带 ADLS Gen2 功能)上使用 Spark(Databricks)生成了一个 ORC 表(使用 Snappy 压缩)。这个 ORC 代表大约 12 GB 的数据(12 亿行)。该表有 32 列。
生成后,我使用 Polybase 将该文件加载到 Synapse Analytics 表中的内部表中。
这是我使用不同配置的结果:
- DW100c / smallrc = 3h52
- DW400c / smallrc = 1h50
- DW400c / xlargerc = 1h58
- DW1000c / xlargerc = 0h50
- DW1500c / xlargerc = 0h42
当我查看存储帐户入口/出口时,我看到了几分钟内的活动(可能是为了在 Synapse 节点之间复制 ORC 文件)......然后 Synapse 资源开始受到压力。我看到 CPU 活动了一段时间,然后内存慢慢增加,缓慢,...
这里的内存(红色)和 CPU 最大百分比(蓝色)示例:
我需要再次扩大规模吗?我认为这不是网络吞吐量的 pb。或者可能是配置问题?关于 Polybase,我不明白为什么这么慢。Polybase 有望快速摄取 TB 的 ORC 数据!
BR,A.
编辑:DWU 使用