Azure Synapse Analyticsについて、覚えたことを記載。
上記にあるように、DWU毎にサービスレベルが決まっている。
「データウェアハウスあたりのメモリ」はディストリビューションの総メモリサイズとなっている。
200DWUであれば、データウェアハウスあたりのメモリは120GBとなっていて、「コンピューティングごとの配布」が60となっている。
「コンピューティングごとの配布」に記載されている値は、データウェアハウスのディストリビューション数。
そのため、1ディストリビューションあたりのメモリサイズは2GBとなる。
Synapse Analyticsでは、ユーザーに動的にメモリを割り当てることができる。
最初のユーザー(管理者ユーザー)はsmallrcから変更できないため、smallrc以外のリソースクラスを割り当てる場合は、専用のユーザーを作成する必要がある。
xlargercを割り当てると、メモリの70%をユーザーの処理に使用する。
これは、1ディストリビューションあたりのメモリの割り当てなので、上記の例にならって、200DWUであれば、xlargercを割り当てられたユーザーが使用可能な最大メモリは、2GB×70%=1.4GBとなる。多分。
リソースクラスの割り当ては課金対象ではないので、DWUを上げる前にリソースクラスの見直しをして、使用可能なメモリサイズを調整してからDWUを上げてもいいかもしれない。
テーブルにデータ移行を行う場合は、上記からメモリの見積もりを行ったほうがよい。
数百カラムのテーブルのデータ移行を行う場合、列圧縮に必要なメモリが足りなくて、データ移行時にエラーが発生する可能性がある。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント