IBM Developer Japan Webサイトは2021年3月15日をもって終了となり、日本語コンテンツの一部は、オープンソースとして、提供予定です。 URLはこちら

データ仮想化ツールを使用して Db2 Warehouse のデータを仮想化する

このチュートリアルはラーニング・パス「Getting started with IBM Cloud Pak for Data」を構成するコンテンツです

何十年にもわたり、企業はデータ・サイロを解消するために、さまざまなオペレーティング・システムからデータマート、データウェアハウス、データ・レイクなどの中央のデータ・ストアにデータをコピーして分析できるよう取り組んできました。これはコストがかかり、エラーの原因にもなりやすい作業です。ほとんどの企業は、構造もタイプも異なる平均 33 種類のデータ・ソースの管理に悪戦苦闘し、多くの場合はデータを見つけるにもアクセスするにも困難なデータのサイロ化に陥ってしまいます。

データを仮想化すれば、データをコピーして複製することなく多数のシステムにわたってデータのクエリーを行うことができるため、コストが削減されます。さらに、アナリティクスが単純化されて、最新のデータに対してクエリーを行えるようになることから、現状に即した、より正確なアナリティクス結果を得ることもできます。

このチュートリアルでは、IBM Cloud Pak for Data 上に用意されているデータ仮想化ツールを使用して Db2 Warehouse 内のデータを仮想化し、複数のデータ・ソースにまたがるクエリーを可能にする方法を説明します。

学習の目的

このチュートリアルでは、以下のタスクを行う方法を学びます。

  • データセットを IBM Cloud Pak for Data に追加する
  • データ・ソースをデータ仮想化ツールに追加する
  • データを仮想化して結合されたデータ・ビューを作成する
  • 仮想化されたデータをプロジェクトに割り当てる
  • ユーザーに役割を割り当てて管理タスクを実施する

前提条件

所要時間

このチュートリアルの所要時間は約 30 ~ 45 分です。

手順

ステップ 1: データを取得する

以下の 3 つのデータ・ファイルをダウンロードします。

ステップ 2: データセットについて理解する

このチュートリアルで使用するデータセットは、Watson Analytics で Kaggle プロジェクトに使用されたものです。このデータセットには、通信会社のカスタマー・チャーンに関する情報が含まれています。データは 3 つの CSV ファイルに分けられています。

billing.csv

このファイルには、以下の属性が格納されています。

  • 顧客 ID
  • 契約 (月極め契約、1 年契約、2 年契約)
  • ペーパーレス請求書 (はい、いいえ)
  • 支払い方法 (銀行振込、クレジット・カード、電子小切手、小切手郵送)
  • 月額料金 ($)
  • 請求総額 ($)
  • チャーン (はい、いいえ)

customer-service.csv

  • 顧客 ID
  • 性別 (男性、女性)
  • 高齢者 (1、0)
  • 配偶者 (はい、いいえ)
  • 扶養家族 (はい、いいえ)
  • 在職期間 (1 ~ 100)

products.csv

  • 顧客 ID
  • 電話サービス (はい、いいえ)
  • 複数回線 (はい、いいえ、電話サービスの利用なし)
  • インターネット・サービス (DSL、光ファイバー、いいえ)
  • オンライン・セキュリティー (はい、いいえ、インターネット・サービスの利用なし)
  • オンライン・バックアップ (はい、いいえ、インターネット・サービスの利用なし)
  • デバイス保護 (はい、いいえ、インターネット・サービスの利用なし)
  • 技術サポート (はい、いいえ、インターネット・サービスの利用なし)
  • ストリーミング TV (はい、いいえ、インターネット・サービスの利用なし)
  • ストリーミング・ムービー (はい、いいえ、インターネット・サービスの利用なし)

ステップ 3: Db2 Warehouse Database にデータを取り込む

データを保管する場所が必要です。このチュートリアルでは IBM Cloud 上の Db2 Warehouse を使用します。その理由としては、Db2 Warehouse は実際のエンタープライズ・データベースをシミュレーションすること、IBM Cloud では無料枠を使用できること、データセットを簡単にロードできることが挙げられます。

Db2 Warehouse にログインしてデータベースをプロビジョニングする

IBM Cloud にログイン (または登録) します。

IBM Cloud のログイン画面

ダッシュボードで、「Create resource (リソースを作成)」ボタンをクリックして「Catalog (カタログ)」を表示します。

IBM Cloud のダッシュボード

Database (データベース)」セクションで「Db2 Warehouse」タイルを見つけます。

カタログ内の Db2 Warehouse を示すスクリーンショット

Lite (ライト)」アカウントとの互換性がある「Entry (エントリー)」プランを選択します。

: サービスの利用料金が発生することを伝えるメッセージが表示されたとても無視してください。データが 1 GB を超えなければ料金は発生しません。

エントリー・レベルのプランを示すスクリーンショット

Db2 Warehouse サービス・インスタンスが作成されたら、「Open Console (コンソールを開く)」をクリックします。

プロビジョニングが完了した Db2 Warehouse インスタンスを示すスクリーンショット

Db2 Web コンソールのダッシュボードが表示されます。ダッシュボードで「Load (ロード)」ボタンをクリックすると、データをロードできます。

Db2 Warehouse データベースにデータをロードする

Db2 Warehouse コンソールのスクリーンショット

billing.csv」ファイルを選択します。

ロードするデータを見つける画面のスクリーンショット

次に表示されるパネルで、データベース内でデータを保管する場所を構成します。ここではデータベース用に作成されたスキーマを使用します。これに該当するスキーマには DASHXXXX のような名前が付けられています。ここで、XXXX はランダムに生成される番号です。スキーマを選択して、「+ New Table (新規テーブルの追加)」をクリックし、「Billing」という名前を付けた新しいテーブルを作成します。

テーブルの名前を選択する画面のスクリーンショット

次の画面ではデフォルト値を受け入れて「Next (次へ)」をクリックします。

すべてのデフォルト値を受け入れる画面のスクリーンショット

次のパネルで、「Begin Load (ロードを開始)」をクリックしてデータのロードを開始します。

データのロードを開始する画面のスクリーンショット

すべての行がロードされたことを確認します。それには「Load More Data (さらにデータをロード)」をクリックしてデータのロードを続行します。

データがロードされたことを示す画面のスクリーンショット

products.csvcustomer-service.csv について同じプロセスを繰り返し、それぞれのテーブルに PRODUCTSCUSTOMERS という名前を付けます。データを構成するための追加のパネルが表示されたら、デフォルト値を受け入れてください。

他のデータセットについて同じプロセスを繰り返します

資格情報をメモする

IBM Cloud Pak for Data にアクセスする前に、Db2 Warehouse 用の資格情報を作成する必要があります。それには、作成したサービスを再表示して、「Service credentials (サービス資格情報)」ボタンをクリックし、新しい資格情報を作成します。資格情報を任意の場所にコピーして、次のセクションで使用できるようにしてください。

Db2 Warehouse 資格情報が表示された画面のスクリーンショット

ステップ 4: 新しい IBM Cloud Pak for Data プロジェクトを作成する

ここからの手順には、IBM Cloud Pak for Data を利用します。

IBM Cloud Pak for Data にログインする

ブラウザーを立ち上げて、IBM Cloud Pak for Data デプロイメントにナビゲートします。

Cloud Pak for Data ログイン画面のスクリーンショット

新しいプロジェクトを作成する

ナビゲーション (☰) メニューを開いて「Projects (プロジェクト)」をクリックします。

ナビゲーション (☰) メニューから「Projects (プロジェクト)」を選択する画面のスクリーンショット

New project (新規プロジェクト)」をクリックします。

新規プロジェクトを開始する画面のスクリーンショット

新しいプロジェクトを作成し、「Analytics project (アナリティクス・プロジェクト)」を選択して一意の名前を指定し、「OK」をクリックします。次に表示される画面で「Create (作成)」をクリックします。

名前の指定

ステップ 5: 新しいデータ・ソースへの接続を追加する

IBM Cloud Pak for Data に Db2 Warehouse 内のデータを読み取らせるには、新しい データ・ソース を IBM Cloud Pak for Data に追加する必要があります。それには、通常の JDBC 詳細を入力します。

新しいデータ・ソースを追加するには、ナビゲーション (☰) メニューを開き、「Connections (接続)」項目をクリックします。

ナビゲーション (☰) メニューから「接続」を選択する画面のスクリーンショット

概要ページで、「Add connection (接続を追加)」をクリックします。

概要ページのスクリーンショット

まず、新しい「Connection (接続)」に名前を付けて、接続タイプとして「Db2 Warehouse on Cloud」を選択します。追加のフィールドが表示されます。新しく表示されたフィールドに、前のセクションで Db2 Warehouse 接続用に作成したのと同じ資格情報を入力します (または、インストラクターに共有資格情報を教えてもらって、その資格情報を入力します)。「Test Connection (接続のテスト)」をクリックします。接続が成功したら、「Add (追加)」をクリックします。

Db2 Warehouse on Cloud への接続を追加する画面のスクリーンショット

新しく追加した接続が概要ページにリストアップされます。

追加された接続を示す画面のスクリーンショット

データ仮想化ツールを使用して Db2 データを仮想化する

: このセクションでは、Admin ユーザーとして IBM Cloud Pak for Data クラスターにアクセスする必要があります。

このセクションではデータ仮想化ツールを使用して、IBM Cloud Pak for Data 内で接続として公開されるようになった Db2 Warehouse からデータをインポートします。

データ・ソースをデータ仮想化ツールに追加する

データ仮想化ツールを起動するには、ナビゲーション (☰) メニューを開いて「Collect (収集)」、「Virtualized data (仮想データ)」の順にクリックします。

ナビゲーション (☰) メニューから「Collect (収集)」 > 「Virtualized data (仮想データ)」を選択する画面のスクリーンショット”/></p>
<p>空の概要ページで「<em>Add (追加)</em>」をクリックし、「<em>Add remote connector (リモート・コネクターを追加)</em>」を選択します。</p>
<p><img class=

前のステップで作成したデータ・ソースを選択し、「Next (次へ)」をクリックします。

Db2 Warehouse への接続を追加する画面のスクリーンショット

新しい接続がデータ仮想化ツールのデータ・ソースとしてリストアップされます。

Db2 Warehouse への接続がデータ仮想化ツールと関連付けられたことを示す画面のスクリーンショット

データの仮想化を開始する

Db2 Warehouse 内のデータにアクセスできるようになったので、このセクションの手順に従って、IBM Cloud Pak for Data プロジェクトに割り当てるデータを仮想化できます。「Menu (メニュー)」ボタンをクリックし、「Virtualize (仮想化)」を選択します。

「Menu (メニュー)」 > 「Virtualize (仮想化)」を選択する画面のスクリーンショット”/></p>
<p>利用可能なテーブルのリストに、いくつかのテーブルが表示されます (その多くは Db2 Warehouse インスタンスのプロビジョニング時にサンプル・データとして作成されたものです)。前に作成したテーブルを見つけます。手順に従っていれば、<code style=CUSTOMER、PRODUCTBILLING という名前になっているはずです。テーブルを選択したら、「Add to cart (カートに追加)」、「View Cart (カートを表示)」の順にクリックします。

仮想化するテーブルを選択する画面のスクリーンショット

次に表示されるパネルで、データを割り当てるプロジェクトを選択するよう求められるので、前のステップで作成したプロジェクトを選択します。「Virtualize (仮想化)」をクリックして仮想化プロセスを開始します。

仮想データをプロジェクトに追加する画面のスクリーンショット

仮想テーブルの作成に成功したことが通知されます。仮想化された新しいデータを確認しましょう。それには、データ仮想化ツールで「View my data (データを表示)」をクリックします。

データが仮想化されたことを通知するメッセージを示すスクリーンショット

仮想データを結合する

これから、作成されたテーブルを結合して、マージされたデータセットを用意します。このままデータ仮想化ツールを使用してテーブルを結合するほうが、Jupyter Notebook を使うよりも簡単です。Jupyter Notebook では、3 つの異なるデータセットを処理するコードを作成しなければなりません。任意の 2 つのテーブル (例えば、PRODUCTSBILLING) を選択し、「Join view (ビューを結合)」ボタンをクリックしてください。

結合する 2 つのテーブルを選択する画面のスクリーンショット

テーブルを結合するには、両方のデータセットに共通するキーを選ぶ必要があります。ここでは、最初のテーブルにある customerID を 2 つ目のテーブル上の customerID にマッピングします。それには、一方をクリックして、もう一方にドラッグし、線が描画されたら、「Join (結合)」をクリックします。

2 つの customerID キーをマッピングする画面のスクリーンショット

次に表示されるパネルで、結合されるデータに付ける名前 (例えば、billing+products) を入力し、結合されるテーブルにすべての列が存在し、customerID 列は 1 つしかないことを確認します。確認できたら、「Next (次へ)」をクリックして続行します。

結合されるテーブルを確認する画面のスクリーンショット

次に、結合されるビューを割り当てるプロジェクトを選択するよう求められるので、前のステップで作成したプロジェクトを選択します。「Create view (ビューを作成)」をクリックして結合プロセスを開始します。

結合されるデータ・テーブルをプロジェクトに追加する画面のスクリーンショット

結合に成功したことが通知されます。「View my data (データを表示)」をクリックし、以上の手順を繰り返して 3 つすべてのテーブルを結合します。

データの結合に成功したことを通知するメッセージを示すスクリーンショット

重要 上記と同じ手順を繰り返しますが、今回は新しく結合されたビュー (billing+products) と 3 つ目の仮想テーブル (CUSTOMERS) を選択して、3 つすべてのテーブルを結合した新しいビューを作成します。このテーブルには、例として billing+products+customers という名前を付けましょう。プロジェクトのページを表示すると、3 つすべての仮想テーブルと 2 つの結合テーブルが示されるはずです。このステップを完了するまでは、次のセクションに進まないでください。

このセクションの手順を完了した時点でのデータセットを示す画面のスクリーンショット

ユーザーに「スチュワード」の役割を割り当てる

メニューから「Data Virtualization (データ仮想化)」項目を選択します。「Manage users (ユーザーの管理)」をクリックします。

データ仮想化ツール内の「Manage users (ユーザーの管理)」ページのスクリーンショット

Add user (ユーザーを追加)」をクリックし、すべてのユーザーに「Steward (スチュワード)」の役割が割り当てられるようにします。

データ仮想化ツール内の「Manage users (ユーザーの管理)」ページのスクリーンショット

ユーザーをクラスターに追加する

ハンバーガー・メニューから「Manage users (ユーザーの管理)」をクリックして、ユーザーを追加します。

ユーザーを追加する画面のスクリーンショット このセクションではデータ仮想化ツールを使用して、IBM Cloud Pak for Data 内で接続として公開されるようになった Db2 Warehouse からデータをインポートします。

ステップ 6: 仮想データを割り当てる

仮想データをプロジェクトに割り当てる

メニューで 「Collections (コレクション)」 > 「Virtualized Data (仮想データ)」 をクリックして「My data (マイ・データ)」セクションを表示します。このセクションには、管理者から割り当てられたデータが表示されます。利用可能な 3 つのデータセットを選択し、「Assign (割り当て)」をクリックしてプロジェクトへのインポートを開始します。

インポートするデータを選択する画面のスクリーンショット

割り当て先のプロジェクトを選択するページで、前に作成したプロジェクトを選択します。

データをプロジェクトに割り当てる画面のスクリーンショット

プロジェクトのページを表示すると、3 つすべての仮想テーブルと 2 つの結合テーブルが示されるはずです。このステップを完了するまでは、次のセクションに進まないでください。

このセクションの手順を完了した時点でのデータセットを示す画面のスクリーンショット

まとめ

このチュートリアルでは、IBM Cloud Pak for Data 上に用意されているデータ仮想化ツールを使用して Db2 Warehouse 内のデータを仮想化し、複数のデータ・ソースにまたがるクエリーを可能にする方法を説明しました。このチュートリアルはラーニング・パス「Getting started with IBM Cloud Pak for Data」を構成するコンテンツです。このシリーズで引き続き IBM Cloud Pak for Data の詳細を学ぶには、次のチュートリアル「Data Refinery によるデータの可視化」に進んでください。