Ingesta de datos por lotes
En esta lección, debe introducir datos por lotes en Experience Platform mediante varios métodos.
La ingesta de datos por lotes le permite introducir una gran cantidad de datos en Adobe Experience Platform a la vez. Puede introducir datos por lotes de una sola vez y cargarlos en la interfaz de Platform o mediante la API. También puede configurar cargas por lotes programadas regularmente desde servicios de terceros, como los servicios de almacenamiento en la nube, mediante los conectores de Source.
Los ingenieros de datos deberán ingerir datos por lotes fuera de este tutorial.
Antes de comenzar los ejercicios, vea este breve vídeo para obtener más información sobre la ingesta de datos:
Permisos necesarios
En la lección Configurar permisos, configuró todos los controles de acceso necesarios para completar esta lección.
Necesitará acceso a un servidor (S)FTP o a una solución de almacenamiento en la nube para el ejercicio Fuentes. Si no dispone de una solución alternativa.
Ingesta de datos por lotes con la interfaz de usuario de Platform
Los datos se pueden cargar directamente en un conjunto de datos en la pantalla de conjuntos de datos en los formatos JSON y parquet. Esta es una buena manera de probar la ingesta de algunos de los datos después de crear una
Descargue y prepare los datos
En primer lugar, obtenga los datos de ejemplo y personalícelos para su inquilino:
-
Descargue luma-data.zip en su carpeta de Tutorial de Luma de Assets.
-
Descomprima el archivo y cree una carpeta llamada
luma-data
que contenga los cuatro archivos de datos que usaremos en esta lección -
Abra
luma-loyalty.json
en un editor de texto y reemplace todas las instancias de_techmarketingdemos
con su propio id. de inquilino de guion bajo, tal como se ve en sus propios esquemas:
-
Guarde el archivo actualizado
Ingesta de datos
-
En la interfaz de usuario de Platform, seleccione Conjuntos de datos en el panel de navegación izquierdo
-
Abra su
Luma Loyalty Dataset
-
Desplácese hacia abajo hasta que vea la sección Agregar datos en la columna derecha
-
Cargar el archivo
luma-loyalty.json
. -
Una vez cargado el archivo, aparecerá una fila para el lote
-
Si vuelve a cargar la página después de unos minutos, verá que el lote se ha cargado correctamente con 1000 registros y 1000 fragmentos de perfil.
- Al habilitar los diagnósticos de error, se generan datos sobre la ingesta de sus datos, que puede revisar mediante la API de acceso a datos. Obtenga más información al respecto en la documentación.
- La ingesta parcial permite introducir datos que contienen errores, hasta un determinado umbral que puede especificar. Obtenga más información al respecto en la documentación
Validación de los datos
Existen varias formas de confirmar que los datos se han introducido correctamente.
Validación en la interfaz de usuario de Platform
Para confirmar que los datos se han introducido en el conjunto de datos:
-
En la misma página donde ha introducido los datos, seleccione el botón Vista previa del conjunto de datos en la parte superior derecha
-
Seleccione el botón Vista previa para poder ver algunos de los datos ingeridos.
Para confirmar que los datos han aterrizado en el perfil (los datos pueden tardar unos minutos en aterrizar):
- Vaya a Perfiles en el panel de navegación izquierdo
- Seleccione el icono junto al campo Seleccionar área de nombres de identidad para abrir el modal
- Seleccione su área de nombres
Luma Loyalty Id
- A continuación, introduzca uno de los valores
loyaltyId
del conjunto de datos,5625458
- Seleccionar vista
Validación con eventos de ingesta de datos
Si se ha suscrito a los eventos de ingesta de datos de la lección anterior, compruebe la dirección URL única de webhook.site. Debería ver tres solicitudes que aparecen en el siguiente orden, con un tiempo entre ellas, con los siguientes eventCode
valores:
ing_load_success
: el lote como ingeridoig_load_success
: el lote se incorporó al gráfico de identidadesps_load_success
: el lote se incorporó al servicio de perfil
Consulte la documentación para obtener más información sobre las notificaciones.
Ingesta de datos por lotes con la API de Platform
Ahora vamos a cargar datos mediante la API.
Descargue y prepare los datos
- Ya debería haber descargado y descomprimido luma-data.zip en su carpeta
Luma Tutorial Assets
. - Abra
luma-crm.json
en un editor de texto y reemplace todas las instancias de_techmarketingdemos
con su propio id. de inquilino de guion bajo, tal como se ve en los esquemas - Guarde el archivo actualizado
Obtención del ID del conjunto de datos
Primero vamos a obtener el ID del conjunto de datos en el que queremos introducir los datos:
- Abrir Postman
- Si no tiene un token de acceso, abra la solicitud OAuth: Request Access Token y seleccione Enviar para solicitar un nuevo token de acceso, tal como lo hizo en la lección Postman.
- Abra las variables de entorno y asegúrese de que el valor de CONTAINER_ID sigue siendo
tenant
- Abra la solicitud Catalog Service API > Datasets > Retrieve a list of datasets. y seleccione Enviar
- Debería obtener una respuesta de
200 OK
- Copie el ID de
Luma CRM Dataset
del cuerpo de respuesta
Crear el lote
Ahora podemos crear un lote en el conjunto de datos:
-
Descargar API de ingesta de datos.postman_collection.json en la carpeta
Luma Tutorial Assets
-
Importar la colección en Postman
-
Seleccionar la solicitud Data Ingestion API > Batch Ingestion > Create a new batch in Catalog Service.
-
Pegue lo siguiente como Cuerpo de la solicitud, reemplazando el valor datasetId por el suyo propio:
code language-json { "datasetId":"REPLACE_WITH_YOUR_OWN_DATASETID", "inputFormat": { "format": "json" } }
-
Seleccione el botón Enviar
-
Debe obtener una respuesta 201 Created que contenga el ID del nuevo lote.
-
Copiar
id
del nuevo lote
Ingesta de datos
Ahora podemos cargar los datos en el lote:
-
Seleccionar la solicitud Data Ingestion API > Batch Ingestion > Upload a file to a dataset in a batch.
-
En la pestaña Params, introduzca la ID del conjunto de datos y la ID de lote en sus campos respectivos
-
En la ficha Params, escriba
luma-crm.json
como rutaDeAccesoDeArchivo -
En la ficha Cuerpo, seleccione la opción binario
-
Seleccione el(a)
luma-crm.json
descargado(a) de su carpetaLuma Tutorial Assets
local -
Seleccione Send y debería obtener una respuesta de 200 OK con '1' en el cuerpo de la respuesta
En este punto, si observa el lote en la interfaz de usuario de Platform, verá que está en estado "Cargando":
Dado que la API por lotes se utiliza a menudo para cargar varios archivos, debe informar a Platform cuando se complete un lote, lo que haremos en el siguiente paso.
Completar el lote
Para completar el lote:
-
Seleccionar la solicitud Data Ingestion API > Batch Ingestion > Finish uploading a file to a dataset in a batch.
-
En la ficha Parámetros, escriba
COMPLETE
como acción -
En la pestaña Params, ingrese su ID de lote. No se preocupe por el ID del conjunto de datos o la ruta de archivo, si están presentes.
-
Asegúrese de que la dirección URL del POST sea
https://platform.adobe.io/data/foundation/import/batches/:batchId?action=COMPLETE
y de que no haya ninguna referencia innecesaria adatasetId
ofilePath
-
Seleccione Send y debería obtener una respuesta de 200 OK con '1' en el cuerpo de la respuesta
Validación de los datos
Validación en la interfaz de usuario de Platform
Valide que los datos hayan aterrizado en la interfaz de usuario de Platform como lo hizo para el conjunto de datos de Fidelidad.
En primer lugar, confirme que el lote muestra que se han introducido 1000 registros:
A continuación, confirme el lote mediante Vista previa del conjunto de datos:
Por último, confirme que uno de sus perfiles se ha creado buscando uno en el área de nombres Luma CRM Id
, por ejemplo 112ca06ed53d3db37e4cea49cc45b71e
Hay una cosa interesante que acaba de pasar que quiero señalar. Abra ese perfil Danny Wright
. El perfil tiene Lumacrmid
y Lumaloyaltyid
. Recuerde que Luma Loyalty Schema
contenía dos campos de identidad, ID de fidelidad de Luma e ID de CRM. Ahora que hemos cargado ambos conjuntos de datos, se han combinado en un solo perfil. Los datos de fidelización tenían Daniel
como nombre y "Ciudad de Nueva York" como dirección particular, mientras que los datos de CRM tenían Danny
como nombre y Portland
como dirección particular del cliente con el mismo ID de fidelización. Volveremos a explicar por qué el nombre muestra Danny
en la lección sobre las políticas de combinación.
¡Enhorabuena, acaba de combinar perfiles!
Validación con eventos de ingesta de datos
Si se ha suscrito a los eventos de ingesta de datos de la lección anterior, compruebe la dirección URL única de webhook.site. Debería ver tres solicitudes, igual que con los datos de fidelidad:
Consulte la documentación para obtener más información sobre las notificaciones.
Ingesta de datos con flujos de trabajo
Veamos otra forma de cargar los datos. La función de flujos de trabajo permite introducir datos CSV que aún no están modelados en XDM.
Descargue y prepare los datos
- Ya debería haber descargado y descomprimido luma-data.zip en su carpeta
Luma Tutorial Assets
. - Confirme que tiene
luma-products.csv
Creación de un flujo de trabajo
Ahora vamos a configurar el flujo de trabajo:
- Vaya a Flujos de trabajo en el panel de navegación izquierdo
- Seleccione Asignar CSV al esquema XDM y seleccione el botón Iniciar
- Seleccione su
Luma Product Catalog Dataset
y seleccione el botón Siguiente
- Agregue el archivo
luma-products.csv
que descargó y seleccione el botón Siguiente
- Ahora se encuentra en la interfaz del asignador, en la que puede asignar un campo desde los datos de origen (uno de los nombres de columna del archivo
luma-products.csv
) a los campos XDM del esquema de destino. En nuestro ejemplo, los nombres de columna están lo suficientemente cerca de los nombres de campo de esquema que el asignador puede detectar automáticamente la asignación correcta. Si el asignador no pudiera detectar automáticamente el campo derecho, seleccionaría el icono a la derecha del campo de destino para seleccionar el campo XDM correcto. Además, si no desea introducir una de las columnas del CSV, puede eliminar la fila del asignador. No dude en jugar y cambiar los encabezados de columna enluma-products.csv
para familiarizarse con el funcionamiento del asignador. - Seleccione el botón Finalizar
Validación de los datos
Cuando se haya cargado el lote, compruebe la carga previsualizando el conjunto de datos.
Dado que Luma Product SKU
es un área de nombres que no es de personas, no veremos ningún perfil para los códigos de artículo del producto.
Debería ver las tres visitas a su webhook.
Ingesta de datos con orígenes
Bien, hiciste las cosas de la manera difícil. ¡Ahora pasemos a la tierra prometida de la ingesta por lotes de automated! Cuando digo: "¡PONLO!" tú dices: "¡OLVÍDALO!" "¡PONLO!" "¡OLVÍDALO!" "¡PONLO!" "¡OLVÍDALO!" Solo bromeaba, ¡nunca harías algo así! Ok, de vuelta al trabajo. Ya casi has terminado.
Vaya a Sources en el panel de navegación izquierdo para abrir el catálogo de Sources. Aquí verá varias integraciones listas para usar con los proveedores de datos y almacenamiento líderes en el sector.
Bien, vamos a ingerir datos usando un conector de origen.
Este ejercicio será elegir-su-propio-estilo de aventura. Voy a mostrar el flujo de trabajo mediante el conector de origen FTP. Puede utilizar un conector de origen de Cloud Storage diferente que utilice en su empresa o cargar el archivo json mediante la interfaz de usuario del conjunto de datos, como hicimos con los datos de fidelidad.
Muchos de los orígenes tienen un flujo de trabajo de configuración similar, en el que:
- Introduzca los detalles de autenticación
- Seleccione los datos que desea introducir
- Seleccione el conjunto de datos de Platform en el que desea introducirlo
- Asignar los campos al esquema XDM
- Elija la frecuencia con la que desea volver a ingerir datos desde esa ubicación
Descargue, prepare y cargue los datos a su proveedor de almacenamiento en la nube preferido
- Ya debería haber descargado y descomprimido luma-data.zip en su carpeta
Luma Tutorial Assets
. - Abra
luma-offline-purchases.json
en un editor de texto y reemplace todas las instancias de_techmarketingdemos
con su propio id. de inquilino de guion bajo, tal como se ve en los esquemas - Actualice todas las marcas de tiempo para que los eventos se produzcan en el último mes (por ejemplo, busque
"timestamp":"2022-06
y reemplace el año y el mes) - Elija su proveedor de almacenamiento en la nube preferido, asegurándose de que esté disponible en el catálogo Sources
- Cargue
luma-offline-purchases.json
a una ubicación de su proveedor de almacenamiento en la nube preferido
Ingeste los datos en su ubicación de almacenamiento en la nube preferida
-
En la interfaz de usuario de Platform, filtre el catálogo Sources a Cloud Storage
-
Tenga en cuenta que hay vínculos prácticos a la documentación en
...
-
En el cuadro de su proveedor de almacenamiento de nube preferido, seleccione el botón Configurar
-
Autenticación es el primer paso. Escriba el nombre de su cuenta, por ejemplo
Luma's FTP Account
y los detalles de autenticación. Este paso debería ser bastante similar para todas las fuentes de almacenamiento en la nube, aunque los campos pueden variar ligeramente. Una vez que haya especificado los detalles de autenticación de una cuenta, puede reutilizarlos para otras conexiones de origen que podrían estar enviando datos diferentes en programaciones diferentes de otros archivos de la misma cuenta -
Seleccione el botón Conectar a origen
-
Cuando Platform se haya conectado correctamente a Source, seleccione el botón Siguiente
-
En el paso Seleccionar datos, la interfaz de usuario usará sus credenciales para abrir la carpeta en su solución de almacenamiento en la nube
-
Seleccione los archivos que desea introducir, por ejemplo
luma-offline-purchases.json
-
Como formato de datos, seleccione
XDM JSON
-
A continuación, puede obtener una vista previa de la estructura json y de los datos de ejemplo en el archivo
-
Seleccione el botón Siguiente
-
En el paso Asignación, seleccione su
Luma Offline Purchase Events Dataset
y seleccione el botón Siguiente. Tenga en cuenta en el mensaje que, como los datos que estamos ingiriendo son un archivo JSON, no hay ningún paso de asignación en el que asignemos el campo de origen al campo de destino. Los datos JSON ya deben estar en XDM. Si estuviera introduciendo un CSV, vería la interfaz de usuario de asignación completa en este paso:
-
En el paso Programación, elija la frecuencia con la que desea volver a ingerir datos desde Source. Dedique un momento a ver las opciones. Solo vamos a hacer una ingesta única, así que deja la Frecuencia en Una vez y selecciona el botón Siguiente:
-
En el paso Detalle del flujo de datos, puede elegir un nombre para el flujo de datos, escribir una descripción opcional, activar los diagnósticos de error y la ingesta parcial. Deje la configuración tal cual y seleccione el botón Siguiente:
-
En el paso Revisar, puedes revisar todos tus ajustes juntos y editarlos o seleccionar el botón Finalizar
-
Después de guardar, aterrizará en una pantalla como esta:
Validación de los datos
Cuando se haya cargado el lote, compruebe la carga previsualizando el conjunto de datos.
Debería ver las tres visitas a su webhook.
Vuelva a buscar el perfil con valor 5625458
en el área de nombres loyaltyId
para ver si hay algún evento de compra en su perfil. Debería ver una compra. Para ver los detalles de la compra, selecciona Ver JSON:
Herramientas de ETL
Adobe se asocia con varios proveedores de ETL para admitir la ingesta de datos en Experience Platform. Debido a la variedad de proveedores externos, ETL no se trata en este tutorial, aunque puede revisar algunos de estos recursos:
Recursos adicionales
Ahora vamos a transmitir datos usando el SDK web