マイクロソフトのクラウド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>