Datasets (Conjuntos de Datos)
General
Cuando ejecutas una regla, se genera un conjunto de datos con el resultado de la ejecución. Este nuevo conjunto de datos puede ser un subconjunto (por ejemplo usando operaciones como limit o include/exclude) o conjuntos de datos completos.
Los conjuntos de datos pueden descargarse a una carpeta local (JSON o CSV) o pueden cargarse en uno de los sumideros disponibles.
Load
Para cargar un conjunto de datos en un sumidero, el sumidero debe agregarse al modelo. Puedes encontrar más información sobre cómo agregar un sumidero al modelo en la página de Sumideros.
Una vez ejecutado, se creará un trabajo donde podrás ver el progreso de la carga.
UI Options
La página de Conjuntos de Datos proporciona varias opciones de interacción para cada conjunto de datos en la tabla:
| Acción | Descripción |
|---|---|
| Descargar | Descarga el conjunto de datos en formato JSON o CSV |
| Actualizar | Actualiza la información del conjunto de datos |
| Compartir | Crea un enlace compartible para el conjunto de datos |
| Eliminar | Elimina el conjunto de datos del sistema |
Funcionalidad de Compartir
El botón Compartir te permite crear URL públicas para compartir tus conjuntos de datos. Cuando haces clic en el botón Compartir:
- Si tienes solo una clave API en tu proyecto, crea automáticamente un endpoint compartible
- Si tienes múltiples claves API, se te pedirá que selecciones cuál usar
Estructura de URL Compartida
Una vez compartidos, los conjuntos de datos son accesibles vía URL con la siguiente estructura:
[protocolo]//[nombrehost]/api/[organización]/[proyecto]/model/[modelo-seq]/dataset/[dataset-seq]Por ejemplo:
https://tuserver/api/acme-corp/datos-ventas/model/1/dataset/42Parámetros de URL
Puedes personalizar la URL compartida con parámetros adicionales:
| Parámetro | Valores | Descripción |
|---|---|---|
format | json-zip, csv-zip, sql | Especifica el formato de descarga para el conjunto de datos |
URLs de ejemplo con parámetros:
https://tuserver/api/acme-corp/datos-ventas/model/1/dataset/42?format=json-ziphttps://tuserver/api/acme-corp/datos-ventas/model/1/dataset/42?format=csv-ziphttps://tuserver/api/acme-corp/datos-ventas/model/1/dataset/42?format=sql
Detalles de la UI de Compartir
Cuando haces clic en el botón Compartir, la fila se expande para mostrar:
- Endpoint API: La URL completa para acceder a tu conjunto de datos
- Selector de Formato: Dropdown para elegir el formato (JSON ZIP, CSV ZIP, SQL)
- Botón Copiar: Copia la URL con formato seleccionado al portapapeles
- Contador de Llamadas: Muestra cuántas veces se ha accedido al endpoint
- Opción Eliminar: Elimina el endpoint API si ya no es necesario
Representación ASCII de la Tabla de Conjuntos de Datos
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Nombre Dataset Regla Última Actualización Creado Por Tamaño Acciones │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ customers_2023 filter hace 2 horas John Doe 2.4 MB Descargar Compartir Eliminar │
│ products_filtered select hace 1 día Jane Smith 15.7 MB Descargar Compartir Eliminar │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────┘Cuando haces clic en el botón Compartir para un conjunto de datos, la fila se expande:
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Nombre Dataset Regla Última Actualización Creado Por Tamaño Acciones │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ customers_2023 filter hace 2 horas John Doe 2.4 MB Descargar Compartir Eliminar │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌──── GET ────┐ https://tuserver/api/org/proj/model/1/dataset/42 [Copiar] │
│ │ # llamadas │ [Eliminar] │
│ └─────────────┘ ?format= [json-zip ▼] │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────┘Esta vista expandida muestra la URL compartible, te permite seleccionar diferentes formatos y proporciona opciones para copiar la URL o eliminar el endpoint.
Datasets de Backup
Un job que escribe datos anonimizados en el mismo tap del que lee (destino Sobreescribir tap actual) cambia los datos de origen en su sitio. Un dataset de backup guarda las filas originales que el job sobreescribe, para poder restaurarlas.
Crear un backup
En el panel Hasta del diálogo de nuevo job, elige Sobreescribir tap actual y marca Generar un backup (Esto creará un dataset de backup del tap actual.). La casilla solo está activa con ese destino.
| Requisito | Detalle |
|---|---|
| Destino Sobreescribir tap actual | Necesita el rol Sobreescribir tap actual y un tap que permita sobreescribirse |
| Casilla Generar un backup | Necesita el rol Create backups. Desmarcada por defecto |
El backup necesita el modo de carga Actualizar o Combinar, que solo escriben de vuelta las filas que lee el job. Con otro modo de carga el job falla antes de tocar el tap: The backup of the tap needs the update or merge load mode.
El job:
- Crea el dataset de backup antes de escribir nada, llamado
backup-<tap>-<modelo>-<n>en minúsculas, donde<n>es un número de secuencia para ese tap y modelo. El dataset queda enlazado al job y a su regla. - Copia en él cada fila al leerla del tap, antes de que la regla la cambie.
- Guarda cada lote en el backup antes de escribir ese lote en el tap.
Si no se puede crear el dataset de backup, el job se detiene sin tocar el tap: Backup creation failed: ... Aborting job to prevent data loss. Si un lote no se puede guardar en el backup, el job se detiene antes de escribir ese lote en el tap.
El registro del job muestra estos pasos como mensajes backup: Creating backup dataset, Backup dataset created: <nombre>, y un backed up <entidad> (N rows read) por tabla. El detalle del job muestra el backup en Backup (o No se ha generado backup).
Si se reinicia el job, reutiliza el backup que ya hizo (Reusing existing backup dataset) en lugar de crear uno nuevo y conserva lo que ya guardó. Una fila cuya clave primaria ya está en el backup no se vuelve a copiar, así que el backup guarda sus valores originales; las filas sin clave primaria se copian de nuevo. Volver a ejecutar lanza un job nuevo, que hace un backup nuevo. Ver Jobs.
Página Backups
Los datasets de backup no aparecen en la página Datasets. Tienen su propia página Backups en el menú del modelo, después de Datasets, con el subtítulo Los datasets de backup se pueden usar para restaurar los datos originales de la fuente de datos. La opción del menú solo aparece cuando el modelo tiene al menos un backup y tienes el rol View sensitive data, porque los backups contienen datos reales.
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Backups │
│ Los datasets de backup se pueden usar para restaurar los datos originales de la fuente de datos. │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Nombre Regla Última actualización Creado por Tamaño Esquema │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ● [Marcha atrás] backup-crm-customers-3 mask-pii hace 1 hora John Doe 2 GB v4 Último │
│ ● [Marcha atrás] backup-crm-customers-2 mask-pii hace 3 días John Doe 2 GB v3 │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────┘| Acción | Descripción |
|---|---|
| Marcha atrás | Restaura el tap desde el backup. Activa cuando el job que hizo el backup está completado o fallido, el backup no está vacío, tienes el rol Sobreescribir tap actual y el tap permite sobreescribirse |
| Renombrar | Cambia el nombre del backup |
| Eliminar | Elimina el backup |
| Copiar | Abre el diálogo de nuevo job para copiar el backup en un dataset nuevo |
En la tabla, Renombrar, Eliminar y Copiar necesitan el rol Delete datasets. Los backups no se pueden descargar ni compartir desde la interfaz: la página de un backup no tiene botones de descarga, y sin el rol View sensitive data muestra una página de acceso denegado. Su barra de herramientas tiene Renombrar, Eliminar y Marcha atrás (en lugar de Cargar). Allí Marcha atrás se activa en las mismas condiciones que en la tabla.
Un backup guarda los datos originales del tap, sin anonimizar. Una Copia de un backup es un dataset normal: aparece en la página Datasets y se puede descargar y compartir como cualquier otro dataset.
Dar marcha atrás
Pulsa Marcha atrás en la página Backups o en la página del backup. Una confirmación muestra lo que hará:
┌───────────────────────────────────────────────────────────────────┐
│ Estás seguro de que quieres dar marcha atrás este dataset? │
├───────────────────────────────────────────────────────────────────┤
│ Se restaurarán los datos del tap con este dataset de backup. │
│ El tap actual se sobreescribirá │
│ │
│ Opciones de marcha atrás │
│ Destino Sobreescribir tap actual │
│ Modo de carga Actualizar │
│ Diccionario Ninguno │
├───────────────────────────────────────────────────────────────────┤
│ [Cancelar] [Sí, dar marcha atrás] │
└───────────────────────────────────────────────────────────────────┘Sí, dar marcha atrás lanza en el momento un job de carga desde el backup al tap del modelo. Reutiliza las opciones del job que hizo el backup, con dos cambios: el modo de carga es Actualizar, así que las filas del tap se actualizan con los valores del backup, y no se usa ningún diccionario. El job aparece con el tipo rollback en las listas de jobs. Para lanzar una marcha atrás hacen falta los roles Run load job y Sobreescribir tap actual, y un tap que permita sobreescribirse, igual que para un job con el destino Sobreescribir tap actual. El servidor también lo comprueba: sin los roles se deniega la marcha atrás, y si el tap no permite sobreescribirse falla con Este tap no permite que se sobrescriba.
La marcha atrás se registra en el linaje de datos como una restauración del tap desde el backup, sin regla ni transformación.
Job con backup Marcha atrás
────────────── ────────────
tap ──copia──▶ backup-crm-customers-3 backup-crm-customers-3
tap ◀──filas anonimizadas── regla │ carga, modo Actualizar
▼
tap (valores originales)La marcha atrás falla con Rollback dataset not found, Original job not found for this rollback dataset o Model does not have an associated tap cuando el backup, el job que lo hizo o el tap del modelo ya no existen.