Servicio de consultas en Jupyter Notebook

Adobe Experience Platform permite utilizar el Lenguaje de consulta estructurado (SQL) en Data Science Workspace al integrar Query Service en JupyterLab como función estándar.

Este tutorial muestra consultas SQL de ejemplo para casos de uso comunes para explorar, transformar y analizar Adobe Analytics datos.

Primeros pasos

Antes de iniciar este tutorial, debe cumplir los siguientes requisitos previos:

Acceso JupyterLab y Query Service access-jupyterlab-and-query-service

  1. Entrada Experience Platform, vaya a Notebooks en la columna de navegación izquierda. Espere un momento para que JupyterLab se cargue.

    note note
    NOTE
    Si no aparece automáticamente una nueva pestaña de lanzador, abra una nueva pestaña de lanzador haciendo clic en Archivo luego seleccione Nuevo lanzador.
  2. En la pestaña Lanzador, haga clic en Vacío en un entorno de Python 3 para abrir un bloc de notas vacío.

    note note
    NOTE
    Python 3 es actualmente el único entorno compatible con el servicio de consultas en portátiles.
  3. En el carril de selección izquierdo, haga clic en Datos y haga doble clic en el Conjuntos de datos para enumerar todos los conjuntos de datos.

  4. Buscar un Adobe Analytics conjunto de datos para explorar y hacer clic con el botón derecho en el listado, haga clic en Consultar datos en Notebook para generar consultas SQL en el bloc de notas vacío.

  5. Haga clic en la primera celda generada que contenga la función qs_connect() y ejecutarlo haciendo clic en el botón de reproducción. Esta función crea una conexión entre la instancia del bloc de notas y el Query Service.

  6. Copie hacia abajo el Adobe Analytics Nombre del conjunto de datos de la segunda consulta SQL generada, será el valor después de FROM.

  7. Inserte una nueva celda de bloc de notas haciendo clic en + botón.

  8. Copie, pegue y ejecute las siguientes instrucciones de importación en una nueva celda. Estas instrucciones se utilizarán para visualizar los datos:

    code language-python
    import plotly.plotly as py
    import plotly.graph_objs as go
    from plotly.offline import iplot
    
  9. A continuación, copie y pegue las siguientes variables en una nueva celda. Modifique sus valores según sea necesario y luego ejecútelos.

    code language-python
    target_table = "your Adobe Analytics dataset name"
    target_year = "2019"
    target_month = "04"
    target_day = "01"
    
    • target_table: Nombre de su Adobe Analytics conjunto de datos.
    • target_year: Año específico del que proceden los datos de destinatario.
    • target_month: mes específico del que procede el objetivo.
    • target_day: día específico del que proceden los datos de destinatario.
    note note
    NOTE
    Puede cambiar estos valores en cualquier momento. Al hacerlo, asegúrese de ejecutar la celda de variables para que se apliquen los cambios.

Consulta de datos query-your-data

Introduzca las siguientes consultas SQL en celdas individuales del bloc de notas. Ejecute una consulta seleccionando en su celda seguida de la opción play botón. Los resultados de la consulta o los registros de errores correctos se muestran debajo de la celda ejecutada.

Cuando un portátil está inactivo durante un período de tiempo prolongado, la conexión entre el portátil y Query Service puede romperse. En estos casos, reinicie JupyterLab seleccionando la opción Restart botón botón reiniciar situado en la esquina superior derecha junto al botón de encendido.

El núcleo del bloc de notas se restablece, pero las celdas permanecen, vuelva a ejecutar todas las celdas para continuar donde lo dejó.

Recuento de visitantes por hora hourly-visitor-count

La siguiente consulta devuelve el recuento de visitantes por hora para una fecha especificada:

Consulta

%%read_sql hourly_visitor -c QS_CONNECTION
SELECT Substring(timestamp, 1, 10)                               AS Day,
       Substring(timestamp, 12, 2)                               AS Hour,
       Count(DISTINCT concat(enduserids._experience.aaid.id,
                             _experience.analytics.session.num)) AS Visit_Count
FROM   {target_table}
WHERE TIMESTAMP = to_timestamp('{target_year}-{target_month}-{target_day}')
GROUP  BY Day, Hour
ORDER  BY Hour;

En la consulta anterior, la marca de tiempo en la variable WHERE La cláusula está configurada para ser el valor de target_year. Incluya variables en consultas SQL al contenerlas entre llaves ({}).

La primera línea de la consulta contiene la variable opcional hourly_visitor. Los resultados de la consulta se almacenarán en esta variable como un marco de datos Pandas. El almacenamiento de resultados en un marco de datos permite visualizar posteriormente los resultados de la consulta utilizando un Python paquete. Ejecute lo siguiente Python codifique en una nueva celda para generar un gráfico de barras:

trace = go.Bar(
    x = hourly_visitor['Hour'],
    y = hourly_visitor['Visit_Count'],
    name = "Visitor Count"
)
layout = go.Layout(
    title = 'Visit Count by Hour of Day',
    width = 1200,
    height = 600,
    xaxis = dict(title = 'Hour of Day'),
    yaxis = dict(title = 'Count')
)
fig = go.Figure(data = [trace], layout = layout)
iplot(fig)

Recuento de actividades por hora hourly-activity-count

La siguiente consulta devuelve el recuento de acciones por hora para una fecha especificada:

Consulta

%%read_sql hourly_actions -d -c QS_CONNECTION
SELECT Substring(timestamp, 1, 10)                        AS Day,
       Substring(timestamp, 12, 2)                        AS Hour,
       Count(concat(enduserids._experience.aaid.id,
                    _experience.analytics.session.num,
                    _experience.analytics.session.depth)) AS Count
FROM   {target_table}
WHERE TIMESTAMP = to_timestamp('{target_year}-{target_month}-{target_day}')
GROUP  BY Day, Hour
ORDER  BY Hour;

Al ejecutar la consulta anterior, se almacenarán los resultados en hourly_actions como un marco de datos. Ejecute la siguiente función en una nueva celda para previsualizar los resultados:

hourly_actions.head()

La consulta anterior se puede modificar para devolver el recuento de acciones por hora para un intervalo de fechas especificado utilizando operadores lógicos en DONDE Cláusula:

Consulta

%%read_sql hourly_actions_date_range -d -c QS_CONNECTION
SELECT Substring(timestamp, 1, 10)                        AS Day,
       Substring(timestamp, 12, 2)                        AS Hour,
       Count(concat(enduserids._experience.aaid.id,
                    _experience.analytics.session.num,
                    _experience.analytics.session.depth)) AS Count
FROM   {target_table}
WHERE  timestamp >= TO_TIMESTAMP('2019-06-01 00', 'YYYY-MM-DD HH')
       AND timestamp <= TO_TIMESTAMP('2019-06-02 23', 'YYYY-MM-DD HH')
GROUP  BY Day, Hour
ORDER  BY Hour;

Al ejecutar la consulta modificada, se almacenan los resultados en hourly_actions_date_range como un marco de datos. Ejecute la siguiente función en una nueva celda para previsualizar los resultados:

hourly_actions_date_rage.head()

Número de eventos por sesión de visitante number-of-events-per-visitor-session

La siguiente consulta devuelve el número de eventos por sesión de visitante para una fecha especificada:

Consulta

%%read_sql events_per_session -c QS_CONNECTION
SELECT concat(enduserids._experience.aaid.id,
              '-#',
              _experience.analytics.session.num) AS aaid_sess_key,
       Count(timestamp)                          AS Count
FROM   {target_table}
WHERE TIMESTAMP = to_timestamp('{target_year}-{target_month}-{target_day}')
GROUP BY aaid_sess_key
ORDER BY Count DESC;

Ejecute lo siguiente Python código para generar un histograma del número de eventos por sesión de visita:

data = [go.Histogram(x = events_per_session['Count'])]

layout = go.Layout(
    title = 'Histogram of Number of Events per Visit Session',
    xaxis = dict(title = 'Number of Events'),
    yaxis = dict(title = 'Count')
)

fig = go.Figure(data = data, layout = layout)
iplot(fig)

Páginas populares para un día determinado popular-pages-for-a-given-day

La siguiente consulta devuelve las diez páginas más populares para una fecha especificada:

Consulta

%%read_sql popular_pages -c QS_CONNECTION
SELECT web.webpagedetails.name                 AS Page_Name,
       Sum(web.webpagedetails.pageviews.value) AS Page_Views
FROM   {target_table}
WHERE TIMESTAMP = to_timestamp('{target_year}-{target_month}-{target_day}')
GROUP  BY web.webpagedetails.name
ORDER  BY page_views DESC
LIMIT  10;

Usuarios activos durante un día determinado active-users-for-a-given-day

La siguiente consulta devuelve los diez usuarios más activos para una fecha especificada:

Consulta

%%read_sql active_users -c QS_CONNECTION
SELECT enduserids._experience.aaid.id AS aaid,
       Count(timestamp)               AS Count
FROM   {target_table}
WHERE TIMESTAMP = to_timestamp('{target_year}-{target_month}-{target_day}')
GROUP  BY aaid
ORDER  BY Count DESC
LIMIT  10;

Ciudades activas por actividad de usuario active-cities-by-user-activity

La siguiente consulta devuelve las diez ciudades que están generando la mayoría de las actividades de usuario para una fecha especificada:

Consulta

%%read_sql active_cities -c QS_CONNECTION
SELECT concat(placeContext.geo.stateProvince, ' - ', placeContext.geo.city) AS state_city,
       Count(timestamp)                                                     AS Count
FROM   {target_table}
WHERE TIMESTAMP = to_timestamp('{target_year}-{target_month}-{target_day}')
GROUP  BY state_city
ORDER  BY Count DESC
LIMIT  10;

Pasos siguientes

Este tutorial muestra algunos casos de uso de muestra para utilizar Query Service in Jupyter cuadernos. Siga las Analice sus datos con Jupyter Notebooks tutorial para ver cómo se realizan operaciones similares mediante el SDK de acceso a datos.

recommendation-more-help
cc79fe26-64da-411e-a6b9-5b650f53e4e9