2

私は Azure Data Warehouse を使用していますが、かなり慣れていません。クラスターには 60 DWU があります。10 行しかないルックアップ テーブルを作成し、1 つだけでなく 60 の DataWarehouse ユニットすべてで複製または使用できるようにしたいと考えています。どうすればそれを達成できますか?

CREATE TABLE [src].[lkpTbl](
    [ID] [int] NOT NULL,
    [Description] [varchar](100) NOT NULL
) 
WITH (DISTRIBUTION = REPLICATE);
GO

上記のコードは機能していません。エラーで失敗します:Option 'REPLICATE' is not supported in this version of SQL Server.

4

2 に答える 2

2

Azure SQL Data Warehouse は現在、レプリケートされたテーブルをサポートしていません。使用可能なオプションは、HASH (列名) または ROUND_ROBIN のみです。この場合、小さなテーブルなので ROUND_ROBIN を使用します。

于 2016-09-26T22:22:43.663 に答える
1

残念ながら ADW さん。Azure データ センターがリソースをプロビジョニングする方法が原因で、構造的に REPLICATE テーブルを提供することが難しくなっています。これは、今後のリリースに含まれる可能性について評価されているものです。

現在のすべてのテーブル分散方法 (ROUND_ROBIN および HASH) は、データを 60 個のストレージ コンテナーすべてに分散します。問題は、分散テーブルをルックアップとして使用する場合、データ移動ジョブが実行されて、クエリ。

上記の例で、[ID] 列に結合する場合は、次のように使用する必要があります。WITH (DISTRIBUTION = HASH([ID]));

ただし、結合しているテーブルが同じ結合テーブルに分散されていない場合、クエリの実行時にデータ移動ジョブが取得されます。または、ルックアップに [説明] 列が 1 つしかない場合は、パフォーマンスのために、ファクト テーブルを非正規化し、説明を FACT テーブルに取り込み、結合を ID のままにします。

于 2016-09-29T06:36:41.597 に答える