Ir al contenido
SparquetSparquet

El canvas

Tres formas, todas equivalentes:

  • Arrastra un ítem de la palette al canvas.
  • Haz clic en un ítem de la palette — el nodo cae tras el último, ya organizado.
  • Doble clic en el canvas vacío para una búsqueda de adición rápida; escribe, pulsa Enter.

Pulsa / en cualquier lugar para enfocar la búsqueda de la palette.

Nodo Compila a Inputs
Source input, o un with de join/union ninguno
Transformation una entrada de transformations uno (dos para join y union)
Validation rule una entrada de validations.rules — una caja por regla uno
Quality destination validations.report o validations.outputs.valid/.invalid ninguno — es una declaración
Destination una entrada de outputs uno
Note nada ninguno

Un nodo muestra su parámetro más significativo bajo el título — la condición de un filter, la expresión de una columna calculada, el tipo y la clave del join — así que un Job es legible sin abrir nada.

El bloque validations escribe hasta tres datasets propios, y cada uno es una caja que añades desde la sección Quality de la palette — no algo que conectas con una arista:

Ítem de la palette Compila a
Quality report validations.report — una fila por regla
Quarantine — valid rows validations.outputs.valid
Quarantine — invalid rows validations.outputs.invalid

No aceptan conexiones: el bloque validations es uno por Job, así que pertenecen al Job, no a una regla concreta. Suelta uno en cualquier lugar del canvas y compila. Un Job admite uno de cada; un segundo es un error, igual que un destino de calidad sin ninguna regla de validación que lo alimente.

on_failure no es un destino y sigue en la configuración del Job: decide si una violación aborta la ejecución.

Arrastra del handle derecho de un nodo al handle izquierdo del siguiente. Las conexiones se validan mientras dibujas: Studio rechaza un link hacia una source, un self-link y cualquier cosa que crearía un ciclo.

Cada input handle recibe una conexión. Soltar una segunda reemplaza la primera, que es la forma más rápida de empalmar un nodo fuera de una cadena.

Desde el teclado: enfoca un nodo, pulsa C, Tab hasta el destino, luego C de nuevo. Escape cancela. La toolbar del nodo tiene las mismas acciones en Connect to….

Conecta el mismo nodo a dos destinos y el grafo se ramifica. Todo antes del fork queda en el transformations principal; todo después pertenece a ese destino.

source → filter → cast ─┬─→ group_by → delta ← group_by es el propio de la salida delta
└─→ parquet ← filter y cast son compartidos

Estos nodos tienen dos inputs. El de la izquierda continúa la cadena principal; el de la derecha toma la segunda fuente.

┌── delta(customers) → filter → select ──┐ ← with + with_transformations
source → filter ─┴──────────────────────────────────────→ join → destination

Todo entre la fuente lateral y el join se vuelve with_transformations, aplicado al lado derecho antes de que el join corra.

Silencia una transformación (el ojo de la toolbar, o el menú del inspector) para mantenerla en el canvas excluyéndola del JSON compilado — la forma más rápida de probar si un paso es el problema, sin perder su configuración.

Borrar quita el nodo y sus conexiones en un solo paso de undo.

Shift+Ctrl/⌘+L re-ejecuta el layout automático: de izquierda a derecha, cadenas laterales apiladas bajo el nodo que alimentan. Las posiciones se guardan con el Job, así que un grafo ordenado sigue ordenado.

Atajo Acción
Ctrl/⌘+K Command palette
Ctrl/⌘+S Guardar ahora (las ediciones autoguardan igual)
Ctrl/⌘+Z / Shift+Ctrl/⌘+Z Deshacer / rehacer
Ctrl/⌘+D Duplicar selección
Delete Quitar selección
Ctrl/⌘+Enter Panel Run
Ctrl/⌘+J Panel JSON
Ctrl/⌘+/ Asistente de IA
Ctrl/⌘+E Panel Issues
Shift+Ctrl/⌘+L Auto-layout
C Iniciar / completar una conexión desde el nodo enfocado
/ Enfocar la búsqueda de la palette

El lint corre mientras escribes. Reporta lo que es estáticamente decidible y se queda callado sobre el resto — un falso positivo cuesta más que una advertencia ausente.

Severidad Ejemplos
Error sin destino; un nodo huérfano; un campo obligatorio vacío; merge sin merge_keys; un destino binary (formato de solo lectura); dos entradas principales a un nodo
Warning un collect sin checkpoint aguas arriba; un {{variable}} que nadie publica; un {param} nunca declarado; dos destinos escribiendo el mismo path; una union posicional
Info un nodo debug dejado en el Job; sin bloque de validations

Haz clic en cualquier issue para seleccionar el nodo y saltar al campo problemático.

Las ediciones autoguardan un instante después de que dejas de escribir; la status bar muestra Saved o Unsaved. Ctrl/⌘+S lo fuerza. Cerrar un Job descarga lo pendiente, así que navegar a otro lado nunca pierde las últimas teclas.

El historial de undo cubre cambios estructurales y ediciones de campo, agrupando la escritura rápida en un solo paso, para que un único undo retroceda una palabra en vez de un carácter.