PolyBaseによる統合データプラットフォームとデータ仮想化:パート2
本シリーズ「PolyBaseによるUDP(統合データプラットフォーム)のデータ仮想化」のパート1では、PolyBaseの概要とデモに必要な前提条件をご紹介しました。最終回となる本記事では、いよいよ実際のデモ内容を詳しく見ていきましょう。
デモ:SQL PolyBaseを設定してAzure Blobからデータを取得する手順
以下の手順に従って、デモを実施してください。
1. SQL ServerがBlob上の外部テキストファイルにアクセスできるよう設定する
Azure Blob上に配置された外部テキストファイルへSQL Serverがアクセスできるようにするには、次のクエリを実行します。
EXEC sp_configure @configname = 'hadoop connectivity', @configvalue = 7;
Go
図1
2. SQL Serverデータベース、データベースマスターキー、資格情報を設定する
続いて、既存のデータベースを使用するか、新しいデータベースを作成します。本デモではPolybaseTestDBという名前の新しいデータベースを作成しました。
データベースの準備ができたら、以下のクエリを実行してデータベースマスターキーと資格情報を作成します。
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Welcome@3452';
USE PolybaseTestDB
Go
CREATE DATABASE SCOPED CREDENTIAL [Polybasecred]
WITH
IDENTITY = 'Polybaseaccount',
SECRET='qdfAVoBN+yr2rHN796gXFtpfhxKgAW3JDAtSPi0RnWcWgy9YRSwyGQR7BoINTHSgjiorUFTCmZpLTZspCbXesg==';
上記クエリのSECRETには、事前に作成したストレージアカウントのアクセスキーを指定します。アクセスキーは以下の手順で取得できます。
- Azure Portal → ストレージアカウントに移動します。
- 対象のストレージアカウントをクリックします。
- 左側のペインでアクセスキーを選択します。
- 右側のペインにキーが表示されます。
- キーをコピーし、上記のクエリで使用します。
3. 作成した資格情報を使って外部データソースを作成する
以下のクエリを実行して、外部データソースを作成します。作成後は、データベースの外部リソース配下でその外部データソースを確認できます。
CREATE EXTERNAL DATA SOURCE AzureStorage
WITH
(
TYPE = HADOOP,
LOCATION = 'wasbs://polybasedemocontainer@polybasedemo1.blob.core.windows.net',
CREDENTIAL = [Polybasecred]
);
図2
注:Azure Storage Blobは、Hadoop®分散ファイルシステム(HDFS)APIの上に構築された拡張機能であるため、上記クエリのTYPEにはHadoopを指定しています。
4. 外部ファイル形式を作成する
以下のクエリを実行します。
CREATE EXTERNAL FILE FORMAT TextFileFormat WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR =',',USE_TYPE_DEFAULT = TRUE))
図3
注:今回はカンマ区切りのテキストファイルを扱うため、FIELD_TERMINATORには','を指定しています。
5. 外部テーブルを作成する
以下のクエリを実行します。
CREATE EXTERNAL TABLE dbo.SQLPolybaseTable (
[Name] varchar(500),
[Subject] varchar(500),
[Education] varchar(500)
)
WITH (
LOCATION='/Data.txt', -- コンテナにアップロードしたファイル名
DATA_SOURCE=AzureStorage, -- 前の手順で作成したデータソース
FILE_FORMAT=TextFileFormat -- 前の手順で作成したファイル形式名
);
図4
6. 外部テーブルに対してクエリを実行する
外部テーブルは、SQL Server上の他の通常のテーブルとまったく同じようにクエリを実行できます。実行結果を確認することで、PolyBaseによって外部データを正しく取得できていることが検証できます。以下のクエリを実行してみましょう。
Select * from <Tablename>
図5
まとめ
今後の記事では、以下のトピックについてさらに深く掘り下げていく予定です。
- 列指向ストア(Columnar Store)によるデータマート
- HDFSによるデータレイク
- Apache Sparkによるビッグデータ処理、機械学習、ストリーミング
また、本デモの実施中にいくつかの課題に遭遇しましたので、それらの経験と解決策については、今後のブログ記事で改めてまとめてご紹介する予定です。
どうぞお楽しみに!
当社のデータサービスについて、詳しくはこちらをご覧ください。
フィードバックタブから、コメントやご質問をお気軽にお寄せください。私たちとの対話を始めることもできます。
-
新しいOutlookプロファイルを作成してOutlookデータ(*.pst)をインポートする方法
現在のOutlookプロファイルで発生している問題を解消したい場合や、特定のメールアカウントに別の個人用データファイル(.pst)を割り当てたい場合など、新しいOutlookプロファイルを作成する必要があるケースはいくつかあります。 このチュートリアルでは、Outlook 2016、2013、2010、2007、2003において、新しいOutlookプロファイル(メインまたはサブ)を作成する手順を解説します。後半では、新しく作成したOutlookプロファイルに、既存の個人用フォルダーデータファイル(例:古いPCから持ち出したOutlookの.pstファイル)をインポートする方法を紹介します。
-
Windows・Macで外付けHDDを再フォーマットする方法とデータ復旧の完全ガイド
外付けハードドライブに大切なデータのバックアップを保存していますか?データを安全に守る賢い習慣です。しかし、万が一外付けドライブが破損してアクセスできなくなったら、どうすればよいのでしょうか?心配はいりません。ハードドライブを再フォーマットすれば、再び使える状態に戻せます。「では、保存していたデータはどうなるの?」と思われるかもしれませんが、これもご安心ください。フォーマット後のデータでも復旧できる可能性があります。本記事では、外付けドライブの再フォーマット方法と、フォーマット済みハードドライブからデータを復旧する方法について詳しく解説します。その前に、まず「フォーマット」とは何かを確認してお