15.2 JupterLab環境のAdobe Experience Platformのデータとやり取りする

この練習では、Anacondaをローカルマシンにインストールし、Jupyter Notebooksをローカルマシンに実行して、クエリサービスを通じてAdobe Experience Platformのデータとやり取りできるようにします。

ビジネスコンテキスト

Adobe Experience Platform・データ・サイエンス・ワークスペースを使って、ジュピター・ノートをAdobe Experience Platformの上でネイティブに使えるようにしています。 これにより、データ科学者はプラットフォームのデータをネイティブに読み書きできるようになりました。

しかし、多くのデータ科学者は、データ調査やモデル作成のために地元のマシンで作業を続けたいと考えています。 これはAdobe Experience PlatformがAdobe Experience Platformクエリサービスを通じても支えるパターンです。 これにより、データサイエンティストは、プラットフォームから直接、選択したローカル環境にデータを読み込むことができます。

前提条件

この練習では、Anaconda Navigator​を使用します。これはここからダウンロードしてインストールできます。

MacBookを使用している場合は、brew​がインストールされていることを確認してください。 brew​のインストール手順は、次を参照してください。https://brew.sh/

また、brew​をインストールした後、ターミナルウィンドウで​brew install postgres​コマンドを実行して、postgres​パッケージをインストールする必要があります。

LocalNotebook

必要なパッケージがコンピューターにインストールされていることを確認する別の方法を次に示します。

ターミナルウィンドウで次のコマンドを実行します。(最初に、次のコマンドを試してください)。

  • sudo easy_install pip
  • pip install pycopg2 binary

ターミナルウィンドウで次のコマンドを実行します。

  • condはpsycopg2をインストールする

ターミナルウィンドウで次の2つのコマンドを実行します。

  • $ /opt/anaconda3/bin/python -m pip ipykernelのインストール
  • $ /opt/anaconda3/bin/python -m ipykernel install

アナコンダを使用

Anacondaをインストールした後、Anacondaを開くと、次のページが表示されます。

LocalNotebook

JupterLabの​Launch​ボタンをクリックします。

LocalNotebook

その後、ブラウザが開き、JupyterLab開始ページが表示されます。
下のボタンをクリックして、新しい​Python 3​ノートブックを開きます。

LocalNotebook

その後、空の新しいノートを手に入れます。

LocalNotebook

空の空の新しいPython 3ノートブックが作成されます。 続行する前に、ノートブックにわかりやすい名前を付けてください。 無題.ipynb​ファイルを右クリックし、名前の変更​をクリックします。

DSW

ノートブックの名前に​mutual365-insurance-anaconda.ipynb​と入力し、Enter​を押します。 その後、次の手順を実行します。

DSW

ライブラリの読み込み

このセルは、PostgreSQL​をサポートするために必要な2つの外部ライブラリをダウンロードしてインストールします。 このセルを初めて実行すると、2 ~ 3分かかる場合があります。

参考:psycopg2​の読み込みでエラーが発生した場合は、ターミナルウィンドウを開き、brew install postgres​コマンドを実行して、postgres​をコンピュータにインストールする必要があります(MacBookに既に'brew'がインストールされていると想定します)。

ノートブック内の最初の空のセルをクリックします。

DSW

下のコードをコピーして、ノートブックの最初のセルに貼り付けます。

!pip install --user psycopg2-binary
!pip install --user sql_magic

import sys
import pprint
import psycopg2

次に、セル1に次の文字を入力します。

DSW

再生​アイコンをクリックして、このセルを実行します。 このセルでエラーが発生した場合は、前提条件​のセクションで前述したようにpostgresをインストールする別の方法を確認してください。

LocalNotebook

次に進む前に、インジケーターが次のように表示されるまで待ちます。

DSW

結果は次のようになります。

DSW

クエリサービス接続の詳細の設定

この手順では、クエリサービスに接続する必要があります。

下にスクロールし、次の空のセルをクリックします。

DSW

下のコードをコピーして、ノートブックの最初のセルに貼り付けます。

# Copy these settings from https://platform.adobe.com/query/configuration
connection = psycopg2.connect(
    sslmode='require',
     host='',
     port='80',
     dbname='prod:all',
     user='',
     password='')

接続するには、上記のコードの以下のフィールドを、Adobe Experience Platformの情報に基づいて更新する必要があります。

  • ホスト
  • ポート
  • dbname
  • user
  • password

これらの設定をクエリサービスから取得するには、Adobe Experience Platformに移動し、クエリ > 資格情報 > ポストグレス資格情報​に移動します。

LocalNotebook

上記のコードをコピーして、表示されているとおりにフィールドを更新した後は、次のような内容にする必要があります。

DSW

再生​アイコンをクリックして、このセルを実行します。 この処理には、2、3秒かかる場合があります。

LocalNotebook

次に進む前に、インジケーターが次のように表示されるまで待ちます。

DSW

SQLの有効化

この手順では、ノートブックでSQLを有効にします。

下にスクロールし、次の空のセルをクリックします。

DSW

下のコードをコピーして、ノートブックの最初のセルに貼り付けます。

# Enable sql magic
%load_ext sql_magic
%config SQL.conn_name = 'connection'

これで、次のようになります。

DSW

再生​アイコンをクリックして、このセルを実行します。 この処理には、2、3秒かかる場合があります。

LocalNotebook

次に進む前に、インジケーターが次のように表示されるまで待ちます。

DSW

テーブルを表示

この手順では、開始がAdobe Experience Platformのデータセットを操作する際に、ローカルのAnaconda環境とJupter Notebookから操作します。

下にスクロールし、次の空のセルをクリックします。

DSW

下のコードをコピーして、ノートブックの最初のセルに貼り付けます。

%%read_sql
show tables

これで、次のようになります。

DSW

再生​アイコンをクリックして、このセルを実行します。 この処理には、2、3秒かかる場合があります。

LocalNotebook

次に進む前に、インジケーターが次のように表示されるまで待ちます。

DSW

その後、Adobe Experience Platformで使用可能なすべてのデータセットが、ローカルのアナコンダ環境とジュピター・ノートブックに返されます。

DSW

自動車保険のインタラクションをデータフレームにロード

次のセルに移動します。 このセルでは、Adobe Experience Platformの​Demo System - Website(Global v1.1)​イベントセット(Webサイト)のデータセットから特定のフィールドをデータフレームに読み込みます。

下にスクロールし、次の空のセルをクリックします。

DSW

下のコードをコピーして、ノートブックの最初のセルに貼り付けます。

%%read_sql df_result
SELECT  --aepTenantId--.identification.core.ecid as ecid,
        --aepTenantId--.interactionDetails.insurance.car.numberKm as km,
        --aepTenantId--.interactionDetails.insurance.car.type as cartype,
        --aepTenantId--.interactionDetails.insurance.car.customerAge as age,
        --aepTenantId--.interactionDetails.insurance.car.customerGender as gender,
        --aepTenantId--.interactionDetails.insurance.car.brand as carbrand,
        --aepTenantId--.interactionDetails.insurance.car.leasing as leasing,
        --aepTenantId--.interactionDetails.insurance.car.customerCity as city,
        --aepTenantId--.interactionDetails.insurance.car.customerCountry as country,
        --aepTenantId--.interactionDetails.insurance.car.customerNationality as nationality,
        --aepTenantId--.interactionDetails.insurance.car.isCustomerPrimaryDriver as primaryuser,
        --aepTenantId--.interactionDetails.insurance.car.hasCustomerPurchased as purchase,
        --aepTenantId--.interactionDetails.insurance.car.priceBasic as pricequote,
        timestamp
FROM demo_system_event_dataset_for_website_global_v1_1
WHERE --aepTenantId--.interactionDetails.insurance.car.type <> ''

これで、次のようになります。

DSW

再生​アイコンをクリックして、このセルを実行します。 この処理には数分かかる場合があります。

LocalNotebook

次に進む前に、インジケーターが次のように表示されるまで待ちます。

DSW

次のような結果になります。

DSW

Demo System - Webサイトイベントデータセット(グローバルv1.1)​データセットは、データフレームに割り当てられ、データサイエンティストは、Anacondaとクエリサービスを使用して、このデータフレームに基づく調査、視覚化、モデル開発を続行できます。

次の手順:15.3レシピを使用してモデルを操作します

モジュール15に戻る

すべてのモジュールに戻る

このページ