データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

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
PolyBaseによる統合データプラットフォームとデータ仮想化:パート2

図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には、事前に作成したストレージアカウントのアクセスキーを指定します。アクセスキーは以下の手順で取得できます。

  1. Azure Portal → ストレージアカウントに移動します。
  2. 対象のストレージアカウントをクリックします。
  3. 左側のペインでアクセスキーを選択します。
  4. 右側のペインにキーが表示されます。
  5. キーをコピーし、上記のクエリで使用します。

3. 作成した資格情報を使って外部データソースを作成する

以下のクエリを実行して、外部データソースを作成します。作成後は、データベースの外部リソース配下でその外部データソースを確認できます。

CREATE EXTERNAL DATA SOURCE AzureStorage
WITH 
(
  TYPE = HADOOP,             
  LOCATION = 'wasbs://polybasedemocontainer@polybasedemo1.blob.core.windows.net',
  CREDENTIAL = [Polybasecred]
);
PolyBaseによる統合データプラットフォームとデータ仮想化:パート2

図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))             
PolyBaseによる統合データプラットフォームとデータ仮想化:パート2

図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     -- 前の手順で作成したファイル形式名
);
PolyBaseによる統合データプラットフォームとデータ仮想化:パート2

図4


6. 外部テーブルに対してクエリを実行する

外部テーブルは、SQL Server上の他の通常のテーブルとまったく同じようにクエリを実行できます。実行結果を確認することで、PolyBaseによって外部データを正しく取得できていることが検証できます。以下のクエリを実行してみましょう。

Select * from <Tablename>
PolyBaseによる統合データプラットフォームとデータ仮想化:パート2

図5


まとめ

今後の記事では、以下のトピックについてさらに深く掘り下げていく予定です。

  • 列指向ストア(Columnar Store)によるデータマート
  • HDFSによるデータレイク
  • Apache Sparkによるビッグデータ処理、機械学習、ストリーミング

また、本デモの実施中にいくつかの課題に遭遇しましたので、それらの経験と解決策については、今後のブログ記事で改めてまとめてご紹介する予定です。

どうぞお楽しみに!

当社のデータサービスについて、詳しくはこちらをご覧ください。

フィードバックタブから、コメントやご質問をお気軽にお寄せください。私たちとの対話を始めることもできます。


  1. 新しいOutlookプロファイルを作成してOutlookデータ(*.pst)をインポートする方法

    現在のOutlookプロファイルで発生している問題を解消したい場合や、特定のメールアカウントに別の個人用データファイル(.pst)を割り当てたい場合など、新しいOutlookプロファイルを作成する必要があるケースはいくつかあります。 このチュートリアルでは、Outlook 2016、2013、2010、2007、2003において、新しいOutlookプロファイル(メインまたはサブ)を作成する手順を解説します。後半では、新しく作成したOutlookプロファイルに、既存の個人用フォルダーデータファイル(例:古いPCから持ち出したOutlookの.pstファイル)をインポートする方法を紹介します。

  2. Windows・Macで外付けHDDを再フォーマットする方法とデータ復旧の完全ガイド

    外付けハードドライブに大切なデータのバックアップを保存していますか?データを安全に守る賢い習慣です。しかし、万が一外付けドライブが破損してアクセスできなくなったら、どうすればよいのでしょうか?心配はいりません。ハードドライブを再フォーマットすれば、再び使える状態に戻せます。「では、保存していたデータはどうなるの?」と思われるかもしれませんが、これもご安心ください。フォーマット後のデータでも復旧できる可能性があります。本記事では、外付けドライブの再フォーマット方法と、フォーマット済みハードドライブからデータを復旧する方法について詳しく解説します。その前に、まず「フォーマット」とは何かを確認してお