Azure SQL DataWarehouse① PolyBaseで高速インポート

IM事業部の 田村 です。
MicrosoftのクラウドサービスMicrosoft Azureについて投稿させていだたきます。
今回はAzure SQL DataWarehouseと、そのデータインポート方法の紹介です。

Azure SQL Data Warehouseとは

Microsoftの提供するパブリッククラウドサービス Azure 上で提供されているPaaS 型のデータ ウェアハウスです。
超並列処理 (MPP) 分散データベース システムを採用しているため、ビッグデータ分析に適していると言えます。 SQL DataWarehouseの詳細はこちら

PolyBaseで高速インポート

SQL DataWarehouseではPolyBaseを使用したインポートが推奨されています。
従来のSQLServerではBCPコマンド等を使用してデータのインポートを行うことが一般的でしたが、SQL DataWarehouseではPolyBaseを使用することにより、より高速なインポートを実現します。

PolyBaseとは
 

以下、Microsoftの公式の文書の引用

PolyBase は、非リレーショナル データとリレーショナル データの両方にすべて SQL Server 内からアクセスし、それらを結合するためのテクノロジです。 Hadoop または Azure BLOB ストレージ内の外部データに対してクエリを実行できます。 クエリは Hadoop に計算をプッシュするように最適化されます。

Transact-SQL (T-SQL) ステートメントを使用するだけで、SQL Server 内のリレーショナル テーブルと Hadoop または Azure BLOB ストレージに格納された非リレーショナル データとの間でデータをインポートしたりエクスポートしたりできます。 T-SQL クエリ内から外部データを照会して、それをリレーショナル データと結合することもできます。

簡単にまとめると、Azure BOLBストレージを使用したデータのインポートですね。
次項から実際の使用例を見てみましょう。

PolyBase使用例

1.マスターキーの作成
データベースマスターキーが未作成の場合は作成してください。データスコープの資格情報を作成するために必要です。
一度作成すれば以降は作成不要です。

 

2.データスコープの資格情報作成
データスコープの視覚情報を作成します。
"SECRET"にはAzureポータルからBLOBストレージのアクセスキーを取得して入力します。

 

3.外部データソースの定義
外部データソースの定義を作成します。
"LOCATION"には、作成したBLOBコンテナ名とストレージアカウント名を組み合わせて入力します。

 

4.外部ファイルのフォーマット定義
外部ファイルのフォーマット定義を作成します。
ここではCSV形式のフォーマット定義の例を示します。

 

5.BLOBストレージへファイルアップロード
BLOBストレージへのファイルアップロードは、Microsoft Azure Storage Explorerが便利です。
ダウンロードはこちらから
「4.」で定義したフォーマットに従ったファイル形式でBLOBコンテナにアップロードしてください。

 

6.外部テーブル作成
外部テーブルを作成します。
テーブル定義はインポート先のテーブルと同一で作成します。
"LOCATION"には「5」でアップロードしたファイル名を、"DATA_SOURCE"には「3」で作成した外部データソース定義を、"FILE_FOMAT"には「4」で作成したフォーマット定義を入力します。

 

7.SQL DataWarehouseへインポート
外部テーブルからのインポートを行います。

 

以上、SQL DataWarehouseの簡単な紹介でしたが、いかがでしたでしょうか。
次回以降DataWarehouse以外のAzureのサービスも紹介できればと思います。
他、弊社の業務内容などにご興味のある方は、お気軽にお問い合わせください。
(お問い合わせはこちらのページをご確認の上、メールアドレス「info@deepcom.co.jp」までご連絡ください。)

コメントは利用できません。