2016-09-14 6 views
2

私はAzureデータウェアハウスを使用しています。私はかなり新しいです。私はクラスターに60 DWUを持っています。私はそれにわずか10行のルックアップテーブルを作成し、1つではなく60のすべてのデータウェアハウスユニットでレプリケートまたは使用可能にしたいと考えています。 これはどのように実現するのですか?Azure DatawarehouseのすべてのDWUでルックアップテーブルを複製

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.

答えて

2

AzureのSQLデータウェアハウスは、現在レプリケートされたテーブルをサポートしていません。使用できるオプションは、HASH(列名)またはROUND_ROBINのみです。この場合は小さなテーブルなのでROUND_ROBINを使用します。

1

残念ながら、ADWは、Azureデータセンターがどのようにリソースをプロビジョニングするため、REPLICATEテーブルを提供することがアーキテクチャ的に困難です。これは、今後のリリースでの潜在的な可能性について評価されているものです。

すべての現行の表の配布方法(ROUND_ROBINおよびHASH)は、60個のすべての記憶域コンテナにデータを分散します。問題は、分散表をルックアップとして使用すると、使用するために実行されるデータ移動ジョブですクエリ内のデータ

上記の例では、[ID]列に参加する場合は、次のものを使用してください。 WITH(DISTRIBUTION = HASH([ID]));

ただし、参加しているテーブルが同じ結合テーブルに分散されていない場合は、クエリ実行時にデータ移動ジョブが取得されます。あるいは、検索に1カラム[Description]しかない場合は、パフォーマンスのためにファクトテーブルを非正規化してFACTテーブルに記述し、IDに結合を残してください。

関連する問題