在本练习中,您将在本地机器上安装Anaconda,以便在本地机器上运行Jupyter Notebooks,然后通过查询服务与Adobe Experience Platform中的数据交互。
借助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包。
以下是确保您的计算机上安装了所需的程序包的替代方法:
在“终端”窗口中运行此命令:(先尝试这些命令)
在“终端”窗口中运行此命令:
在“终端”窗口中运行以下2个命令:
安装Anaconda后,打开Anaconda,您将看到以下页面。
单击JupyterLab的Launch按钮。
之后,您的浏览器应打开并显示JupyterLab开始页。
如所示,单击下面的按钮,打开新的Python 3笔记本。
然后你会有一本空的新笔记本。
然后,您将拥有一个空白的Python 3新笔记本。 在继续操作之前,请为笔记本提供一个描述性名称。 右键单击Untitled.ipynb文件,然后单击重命名。
输入mutual365-insurance-anaconda.ipynb作为笔记本的名称,然后点击Enter。 然后您将拥有:
此单元格将下载并安装支持PostgreSQL所需的2个外部库。 首次执行此单元格可能需要几分钟。
答:如果加载psycopg2时出错,您需要打开终端窗口并执行命令brew install postgres(这假定您的MacBook上已安装'brew'),在计算机上安装postgres。
单击笔记本中第一个空单元格。
复制下面的代码并将其粘贴到笔记本的第一个单元格中。
!pip install --user psycopg2-binary
!pip install --user sql_magic
import sys
import pprint
import psycopg2
然后,您将在单元1中拥有此功能:
单击播放图标以执行此单元格。 如果此单元格出现错误,请验证上面Requisets部分中提到的安装邮件的替代方法。
请等到指示符如下时再继续:
结果如下:
在此步骤中,您需要连接到查询服务。
向下滚动并单击下一个空单元格。
复制下面的代码并将其粘贴到笔记本的第一个单元格中。
# 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中可以找到的信息更新上述代码中的以下字段。
要从查询服务检索这些设置,请进入Adobe Experience Platform,到查询 > 凭据 > 邮寄凭据。
在复制上述代码并更新如所示的字段后,您应该有类似的功能:
单击播放图标以执行此单元格。 这可能需要几秒钟。
请等到指示符如下时再继续:
在此步骤中,您将在笔记本中启用SQL。
向下滚动并单击下一个空单元格。
复制下面的代码并将其粘贴到笔记本的第一个单元格中。
# Enable sql magic
%load_ext sql_magic
%config SQL.conn_name = 'connection'
你现在应该有这样的东西:
单击播放图标以执行此单元格。 这可能需要几秒钟。
请等到指示符如下时再继续:
在此步骤中,您将开始与本地Anaconda环境和Jupyter Notebook中的Adobe Experience Platform数据集的交互。
向下滚动并单击下一个空单元格。
复制下面的代码并将其粘贴到笔记本的第一个单元格中。
%%read_sql
show tables
你现在应该有这样的东西:
单击播放图标以执行此单元格。 这可能需要几秒钟。
请等到指示符如下时再继续:
然后,您会在本地Anaconda环境和Jupyter笔记本上看到返回的Adobe Experience Platform中所有可用数据集。
转到下一个单元格。 在此单元格中,您将从Adobe Experience Platform的演示系统 — 网站事件集(全局v1.1)数据集加载特定字段到数据帧中。
向下滚动并单击下一个空单元格。
复制下面的代码并将其粘贴到笔记本的第一个单元格中。
%%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 <> ''
你现在应该有这样的东西:
单击播放图标以执行此单元格。 这可能需要几分钟。
请等到指示符如下时再继续:
然后您将看到类似的结果:
演示系统 — 网站事件集(Global v1.1)数据集现已分配给一个数据帧,现在,数据科学家可以使用Anaconda和查询服务在本地计算机上基于此数据帧继续进行勘探、可视化和模型开发。
下一步:15.3使用Recipe操作模型