Azure Synapse 随机播放 with(DISTRIBUTED_MOVE_FILE='')

问题描述 投票:0回答:1

Azure Synapse 专用池,在对具有不同分布的 2 个表进行联接时,Synapse 使用以下语法创建临时表(执行计划中的随机步骤):

CREATE TABLE [qtabledb].[dbo].[TEMP_ID_79718] 
(
     [...] DATE NOT NULL, 
     [...] INT NOT NULL,  
     ... 
) WITH(DISTRIBUTED_MOVE_FILE='');

我在WITH(DISTRIBUTED_MOVE_FILE='')上没有找到任何东西,它到底做了什么?

distribution azure-synapse
1个回答
0
投票

WITH(DISTRIBUTED_MOVE_FILE='')
子句用于指定用于存储在节点之间移动的数据的文件的名称。 当对具有不同分布的两个表进行联接时,该文件用于在节点之间移动数据。
DISTRIBUTED_MOVE_FILE
选项用于指定用于存储在节点之间移动的数据的文件的名称。 '' 值用于指定未指定文件名。

SQL DW 会根据目标表的分布列将每一行移动到正确的计算节点。 在此操作期间不会复制已存储在正确计算节点上的行。

数据移动将在计划中发生:

<dsql_operation operation_type="SHUFFLE_MOVE">
。 这意味着
SHUFFLE_MOVE
- 重新分配分布式表。 重新分布表具有与原始分布表不同的分布列。 这可能用于运行不兼容的联接或不兼容的聚合时。

您可以参考示例不包括我的分发密钥

其他参考: SHUFFLE_MOVE

© www.soinside.com 2019 - 2024. All rights reserved.