Nodo multiimportación

En Synthetic Data Generator, puede utilizar el nodo Multiimportación para importar datos de varias fuentes diferentes. A continuación, puede generar datos sintéticos basados en todas estas fuentes de datos.

Descripción
Utilice el nodo Multiimportación para importar varias tablas de datos desde una conexión de base de datos para utilizarlas como datos de muestra de siembra.
El nodo Multiimportación importa estos conjuntos de datos como un grupo de conjuntos de datos, donde se utiliza la integridad referencial para definir las relaciones en el grupo. A continuación, puede utilizar este grupo de conjuntos de datos relacionados para generar datos sintéticos que tengan relaciones y distribuciones similares a las de todas las tablas originales que ha importado. Para más información, consulte Integridad referencial y nodos multi-tabla.
Si utiliza secuencias de comandos, también puede importar archivos guardados como activos del proyecto.
Utilización del nodo
El nodo Multi-import suele ser el primer nodo de un flujo Synthetic Data Generator. Importa conjuntos de datos almacenados en un formato estructurado, como una tabla, y los transmite al siguiente nodo para su posterior procesamiento. Para más información, consulte Fuentes de datos para Synthetic Data Generator.
Utilice un solo nodo Multiimportación para importar varios conjuntos de datos tabulares. No se pueden utilizar varios nodos para combinar datos.
Si cambia las fuentes o la configuración en el nodo Multiimport después de que se ejecute el flujo, vuelva a ejecutar el nodo Multiimport antes de utilizar Ejecutar todo para volver a ejecutar el flujo. Al ejecutar el nodo Multi-mimic se actualiza el nodo Multi-gen.
Obligatorio u opcional
El nodo Multiimportación es obligatorio si desea utilizar datos de producción de varias tablas de datos como semilla para los datos sintéticos. Si desea utilizar la integridad referencial, no puede generar datos sintéticos definiendo un esquema de datos personalizado para los datos sintéticos.

Scripting con el nodo Multiimportación

Puede utilizar lenguajes de scripting, como Python, para establecer progamáticamente las propiedades de los nodos.

Nota: Puede utilizar el nodo Multiimportación para importar datos de activos de datos sólo cuando utilice scripts. No es posible seleccionar activos de datos en la interfaz de usuario.

Propiedades de los nodos multiimportación

Las siguientes propiedades son específicas del nodo Multiimportación. Para obtener información sobre las propiedades comunes de los nodos, consulte Propiedades de flujos y nodos.

Tabla 1. Propiedades de los nodos para la creación de scripts
Nombre de propiedad Tipo de datos Descripción de la propiedad
assets Propiedad estructurada Una lista de activos, donde cada activo contiene lo siguiente: id, name, assettype, connpath, primarykey, usersettings. Para más detalles, véase Estructura de datos para la propiedad assets .
relationships Propiedad estructurada Una lista de relaciones de tablas, donde cada relación incluye lo siguiente: fromtable, totable, fromcolumns, tocolumns, relationtype. Para más detalles, véase Estructura de datos de la propiedad relationships .

Estructura de datos para la propiedad assets

ID
ID del activo o de la conexión
Nombre
Nombre del activo o conexión en el proyecto
tipo de activo
El tipo de activo (DataAsset o Connection)
Solo se pueden importar activos de datos mediante scripts. Al utilizar scripts, también puedes configurar el nodo «Multi-import» para que utilice varios archivos « CSV ».
connpath
Cuando se establece Connection para asset_type, la ruta a la tabla dentro de la conexión.
En función de la conexión a la base de datos, la ruta incluye el catálogo y el esquema, por ejemplo catalog_name/schema_name/table_name.
clave principal
Las claves primarias de una o varias columnas de la tabla de origen
Puede establecer varias columnas en primarykey utilizando una lista de cadenas, por ejemplo, ['ACCOUNT_ID','DISTRICT_ID']. No se admiten claves primarias compuestas.
userettings
Cadena JSON de propiedades de interacción.
Por ejemplo, {"interactionProperties":{"file_format":"csv","encoding":"UTF-8","first_line_header":true,"infer_schema":true,"infer_record_count":1000,"infer_as_varchar":false,"invalid_data_handling":"fail","file_name":"input.csv"}}

Estructura de datos para la propiedad relationships

de la tabla
La tabla de origen con la clave primaria
Utilice la notación por puntos para el nombre de la tabla
transportable
La tabla de destino que hace referencia a la clave primaria
Utilice la notación por puntos para el nombre de la tabla
de las columnas
Columnas de la tabla de origen
tocolumnas
Columnas de destino en la tabla de destino
tipo de relación
Tipo de relación (ONE_TO_ONE o ONE_TO_MANY)

Nombres de tabla en notación por puntos

En la mayoría de los casos, para referirse a las tablas debe utilizarse la notación por puntos. La ruta en notación de puntos cambia dependiendo de si la tabla tiene un catálogo y un esquema.

Catálogo y esquema
assetId.catalog.schema.table
Sólo esquema
assetId.schema.table
Sin esquema
assetId.table
Por ejemplo, con IBM Cloudant
Activos de datos
assetId.assetName
Por ejemplo, para archivos de tipo « CSV » y «SAV»

Ejemplo de script

El siguiente script crea un nodo Multi-import y establece algunas propiedades para él.

stream = sdg.script.stream()
connections = stream.createAt("dataasset_import_multi_table", "Connections", 88, 187)
connections.setPropertyValue("assets", "[['40039389-1b77-47d5-86d1-b37a5e6bf52e', 'DB2 Premium', 'Connection', '/PERF/CATEGORIES', 'CATEGORY_ID', ''], ['40039389-1b77-47d5-86d1-b37a5e6bf52e', 'DB2 Premium', 'Connection', '/PERF/CUSTOMERS', 'CUSTOMER_ID', ''], ['40039389-1b77-47d5-86d1-b37a5e6bf52e', 'DB2 Premium', 'Connection', '/PERF/PRODUCTS', 'PRODUCT_ID', ''], ['40039389-1b77-47d5-86d1-b37a5e6bf52e', 'DB2 Premium', 'Connection', '/PERF/SALES', 'SALE_ID', '']]")
connections.setPropertyValue("relationships", "[['40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.CATEGORIES', '40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.PRODUCTS', ['CATEGORY_ID'], ['CATEGORY_ID'] , 'ONE_TO_MANY'], ['40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.CUSTOMERS', '40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.SALES', ['CUSTOMER_ID'], ['CUSTOMER_ID'] , 'ONE_TO_MANY'], ['40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.PRODUCTS', '40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.SALES', ['PRODUCT_ID'], ['PRODUCT_ID'] , 'ONE_TO_MANY']]")