[SQL DWの落とし穴]外部テーブルにデータ追加するたび手間発生(知って安心!AWS・Azureのつまずきポイント)



 マイクロソフトのクラウドMicrosoft Azureのデータウエアハウス(DWH)サービス「SQL Data Warehouse」には、リレーショナルデータベース(RDB)のSQL Serverなどと同様に「PolyBase」という機能がある。SQL Data Warehouse のPolyBase機能を使うと、オブジェクトストレージAzure Blob Storageに格納したCSV(カンマ区切り)などのテキストファイルをそのまま外部テーブルとして読み込み、テーブルとして参照することができる。

 マイクロソフトが提供するコマンドライン形式の一括読み込みユーティリティーbcp(bulk copy program)よりも高速にインポートでき、大量データの読み込みに適している。

 外部テーブルを定義する際、データソースにストレージアカウント、ロケーションにファイルやフォルダー、ファイルフォーマットにCSV(カンマ区切り)などどのようなファイル形式かを指定する。例えば以下のような具合だ。




-- 外部テーブル定義
CREATE EXTERNAL TABLE ext_table( Col1 nvarchar(30) NULL
, Col2 nvarchar(30) NULL
, Col3 nvarchar(30) NULL
) WITH ( DATA_SOURCE = storageSource	-- Azureストレージ定義
, LOCATION = 'ext_data.csv'	-- コンテナ配下のファイル
, FILE_FORMAT = Comma -- ファイルフォーマット定義
);
pre> 

Related Post