Modelo

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ónDescripción
DescargarDescarga el conjunto de datos en formato JSON o CSV
ActualizarActualiza la información del conjunto de datos
CompartirCrea un enlace compartible para el conjunto de datos
EliminarElimina 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:

  1. Si tienes solo una clave API en tu proyecto, crea automáticamente un endpoint compartible
  2. 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/42

Parámetros de URL

Puedes personalizar la URL compartida con parámetros adicionales:

ParámetroValoresDescripción
formatjson-zip, csv-zip, sqlEspecifica 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-zip
  • https://tuserver/api/acme-corp/datos-ventas/model/1/dataset/42?format=csv-zip
  • https://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:

  1. Endpoint API: La URL completa para acceder a tu conjunto de datos
  2. Selector de Formato: Dropdown para elegir el formato (JSON ZIP, CSV ZIP, SQL)
  3. Botón Copiar: Copia la URL con formato seleccionado al portapapeles
  4. Contador de Llamadas: Muestra cuántas veces se ha accedido al endpoint
  5. 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.

RequisitoDetalle
Destino Sobreescribir tap actualNecesita el rol Sobreescribir tap actual y un tap que permita sobreescribirse
Casilla Generar un backupNecesita 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:

  1. 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.
  2. Copia en él cada fila al leerla del tap, antes de que la regla la cambie.
  3. 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ónDescripción
Marcha atrásRestaura 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
RenombrarCambia el nombre del backup
EliminarElimina el backup
CopiarAbre 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.