マイクロソフトのクラウド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		-- ファイルフォーマット定義
);