15.2通过本地JupyterLab环境与Adobe Experience Platform中的数据交互

在本练习中,您将在本地机器上安装Anaconda,以便在本地机器上运行Jupyter Notebooks,然后通过查询服务与Adobe Experience Platform中的数据交互。

Business Context

借助Adobe Experience Platform Data Science Workspace,我们将Jupyter笔记本本机提供到Adobe Experience Platform之上。 利用此功能,数据科学家现在可以本机读取数据并将数据写入平台。

然而,许多数据科学家仍然更愿意在本地机器上进行数据探索和模型构建。 这是Adobe Experience Platform还通过Adobe Experience Platform查询服务支持的模式。 借助此功能,数据科学家可以直接在他们选择的本地环境中从Platform加载数据。

先决条件

对于本练习,我们使用​Anaconda Navigator,您可以从此处下载并安装它。

如果您使用的是MacBook,请确保已安装​brew。 您可以在以下网址找到​brew​的安装说明:https://brew.sh/

此外,在安装​brew​后,您需要通过在“终端”窗口中运行​brew install postgres​命令来安装​postgres​包。

LocalNotebook

以下是确保您的计算机上安装了所需的程序包的替代方法:

在“终端”窗口中运行此命令:(先尝试这些命令)

  • sudo easy_install pip
  • pip install psycopg2 binary

在“终端”窗口中运行此命令:

  • conda安装psycopg2

在“终端”窗口中运行以下2个命令:

  • $ /opt/anaconda3/bin/python -m pip安装ipykernel
  • $ /opt/anaconda3/bin/python -m ipykernel安装

使用阿纳康达

安装Anaconda后,打开Anaconda,您将看到以下页面。

LocalNotebook

单击JupyterLab的​Launch​按钮。

LocalNotebook

之后,您的浏览器应打开并显示JupyterLab开始页。
如所示,单击下面的按钮,打开新的​Python 3​笔记本。

LocalNotebook

然后你会有一本空的新笔记本。

LocalNotebook

然后,您将拥有一个空白的Python 3新笔记本。 在继续操作之前,请为笔记本提供一个描述性名称。 右键单击​Untitled.ipynb​文件,然后单击​重命名

DSW

输入​mutual365-insurance-anaconda.ipynb​作为笔记本的名称,然后点击​Enter。 然后您将拥有:

DSW

加载库

此单元格将下载并安装支持​PostgreSQL​所需的2个外部库。 首次执行此单元格可能需要几分钟。

答:如果加载​psycopg2​时出错,您需要打开终端窗口并执行命令​brew install postgres(这假定您的MacBook上已安装'brew'),在计算机上安装​postgres

单击笔记本中第一个空单元格。

DSW

复制下面的代码并将其粘贴到笔记本的第一个单元格中。

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

import sys
import pprint
import psycopg2

然后,您将在单元1中拥有此功能:

DSW

单击​播放​图标以执行此单元格。 如果此单元格出现错误,请验证上面​Requisets​部分中提到的安装邮件的替代方法。

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中可以找到的信息更新上述代码中的以下字段。

  • host(主机)
  • 端口
  • dbname
  • 用户
  • 口令

要从查询服务检索这些设置,请进入Adobe Experience Platform,到​查询 > 凭据 > 邮寄凭据

LocalNotebook

在复制上述代码并更新如所示的字段后,您应该有类似的功能:

DSW

单击​播放​图标以执行此单元格。 这可能需要几秒钟。

LocalNotebook

请等到指示符如下时再继续:

DSW

启用SQL

在此步骤中,您将在笔记本中启用SQL。

向下滚动并单击下一个空单元格。

DSW

复制下面的代码并将其粘贴到笔记本的第一个单元格中。

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

你现在应该有这样的东西:

DSW

单击​播放​图标以执行此单元格。 这可能需要几秒钟。

LocalNotebook

请等到指示符如下时再继续:

DSW

显示表

在此步骤中,您将开始与本地Anaconda环境和Jupyter Notebook中的Adobe Experience Platform数据集的交互。

向下滚动并单击下一个空单元格。

DSW

复制下面的代码并将其粘贴到笔记本的第一个单元格中。

%%read_sql
show tables

你现在应该有这样的东西:

DSW

单击​播放​图标以执行此单元格。 这可能需要几秒钟。

LocalNotebook

请等到指示符如下时再继续:

DSW

然后,您会在本地Anaconda环境和Jupyter笔记本上看到返回的Adobe Experience Platform中所有可用数据集。

DSW

将车险互动加载到数据框架中 —

转到下一个单元格。 在此单元格中,您将从Adobe Experience Platform的​演示系统 — 网站事件集(全局v1.1)​数据集加载特定字段到数据帧中。

向下滚动并单击下一个空单元格。

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

演示系统 — 网站事件集(Global v1.1)​数据集现已分配给一个数据帧,现在,数据科学家可以使用Anaconda和查询服务在本地计算机上基于此数据帧继续进行勘探、可视化和模型开发。

下一步:15.3使用Recipe操作模型

返回模块15

返回到所有模块

在此页面上