Todos los productos
Search
Centro de documentos

DataWorks:Error al confirmar nodo: discrepancia entre entrada/salida y linaje de datos

Última actualización: Sep 04, 2026

Síntoma

Al confirmar un nodo, el sistema advierte que la entrada y salida configuradas no coinciden con el linaje de datos. En el cuadro de diálogo Commit New Version, un área de advertencia rosa muestra un mensaje más específico, como "Input and data lineage do not match". Esto indica que la entrada enviada es workshop0423.ods_log_info_d, pero la entrada derivada del linaje de datos es workshop0423.ods_log_info_d;workshop0423.ods_user_info_d_1. Seleccione la casilla I confirm that I want to continue with the commit para habilitar el botón Confirm. En este escenario, en la página de desarrollo de DataWorks, el código ODPS SQL de la izquierda usa INSERT OVERWRITE TABLE dw_user_info_all_d para unir las tablas ods_log_info_d y ods_user_info_d_1, y escribir el resultado en la tabla de destino. A la derecha, el panel de scheduling configuration tiene dos secciones: Parent Nodes y Outputs. En Parent Nodes, el sistema analiza automáticamente la tabla de entrada workshop0423.ods_log_info_d. La sección Outputs incluye la salida predeterminada del sistema workshop0423.500889455_out y la tabla de salida agregada manualmente workshop0423.dw_user_info_all_d. Esta discrepancia ocurre porque las tablas analizadas a partir del linaje de datos entran en conflicto con las dependencias declaradas en el panel de configuración de programación.

Posibles causas

Esta advertencia aparece cuando las tablas especificadas en las instrucciones SELECT del código no coinciden con la configuración de Parent Nodes, o cuando las tablas en las instrucciones INSERT o CREATE no coinciden con la configuración de Outputs.

Por ejemplo:

  • El código de nodo enviado selecciona datos de table2, pero table2 no está configurada como nodo antecesor de este nodo.

  • Configuró doc_test en los Outputs del nodo, pero el código no escribe en ella.

Solución

  • Para las tablas que no se generan periódicamente, ignore la advertencia y confirme el nodo.

    Las dependencias de programación de DataWorks están diseñadas principalmente para garantizar que los datos en tablas actualizadas periódicamente estén disponibles para los nodos programados. La plataforma no puede supervisar tablas que su propio servicio de programación no actualiza. Si el código del nodo selecciona datos de una tabla que no se genera periódicamente, quite la dependencia ascendente analizada automáticamente de la configuración de Parent Nodes. Las tablas que no se generan periódicamente incluyen:

    • Tablas cargadas en DataWorks from una computadora local

    • Tablas de dimensiones

    • Tablas no generadas por un nodo auto triggered de DataWorks

    • Tablas generadas por un nodo activado manualmente

  • Para las tablas que se generan periódicamente, compruebe cuidadosamente que el linaje de datos y las dependencias de programación sean consistentes.

    Si fuerza una confirmación sin esta comprobación, podría encontrar los siguientes problemas:

    • Un nodo descendiente podría no obtener los datos más recientes. Por ejemplo, si el código selecciona datos de la Tabla A, que se genera diariamente mediante un auto triggered node programado, y no agrega el nodo que genera la Tabla A a los Parent Nodes del nodo actual para establecer una dependencia de programación, el nodo descendiente usará datos obsoletos de la última ejecución exitosa en caso de que falle el nodo que genera la Tabla A. Esto puede causar inconsistencias.

    • Podría encontrar el error "Dependent ancestor output name not found". Por ejemplo, si el código crea o inserta datos en la Tabla B, pero no configura la Tabla B como salida en la sección Outputs, y otro nodo selecciona datos de la Tabla B, el sistema analiza automáticamente esta relación y agrega la Tabla B como entrada para ese nodo, lo que crea una dependencia. Sin embargo, el sistema no puede rastrear esta dependencia hasta el nodo que produce la Tabla B. Al intentar confirmar el nodo, la operación falla con el error "Node commit error: Dependent ancestor output name not found". Para obtener más información, consulte Node commit error: Dependent ancestor output name not found.