nodo di importazione

In Synthetic Data Generator, è possibile utilizzare il nodo Importazione per importare dati di origine da database o file da utilizzare come dati di partenza di esempio.

Descrizione
Utilizzate il nodo Importazione in un flusso Synthetic Data Generator per introdurre i dati di origine da cui generare dati sintetici. È possibile importare i dati da un database o da un file salvato come risorsa del progetto.
Utilizzo del nodo
Il nodo Import è di solito il primo nodo di un flusso Synthetic Data Generator. A meno che non si utilizzi uno schema personalizzato, è necessario importare i dati prima di poter generare dati sintetici.
Importa insiemi di dati memorizzati in un formato strutturato, come ad esempio una tabella, e poi passa l'insieme di dati al nodo successivo per un'ulteriore elaborazione. Per ulteriori informazioni, vedere Fonti di dati per Synthetic Data Generator.
Sebbene sia possibile aggiungere più nodi di importazione a un flusso Synthetic Data Generator, non è possibile utilizzare più nodi per combinare i dati.
Obbligatorio o facoltativo
Il nodo Importazione è obbligatorio se si utilizzano i dati di produzione come seme per i dati sintetici. Se si sceglie di generare dati sintetici da uno schema personalizzato, è sufficiente il nodo Generate.

Tipo di archiviazione prevalente

Quando Synthetic Data Generator importa i dati, elabora un campione dei record presenti nei dati per dedurne la struttura e i tipi di dati. Durante questo processo, Synthetic Data Generator imposta il tipo di archiviazione richiesto per i dati in ciascun campo. Ad esempio, potrebbe dedurre che un campo Età necessita del tipo di archiviazione Reale. Tuttavia, se l'inferenza è errata, è possibile sovrascriverla.

  1. Nelle impostazioni del nodo Data Asset, espandere la sezione Storage.
  2. Seleziona Sovrascrivi per il campo che desideri modificare, quindi seleziona il nuovo tipo dall'elenco Archiviazione.
  3. Espandi la sezione Tipo e seleziona Pass.
Nota:Non è possibile sovrascrivere il tipo di archiviazione quando si utilizza un nodo Anonimizza.

Se desideri utilizzare uno script per sovrascrivere il tipo di archiviazione, utilizza il seguente esempio per aggiungere i parametri allo script:

importnode1.setPropertyValue("custom_field_storage", "[[Age, false, Integer], [Sex, false, String], [BP, false, String], [Cholesterol, false, String], [Na, false, Real], [K, false, Real], [Drug, false, String]]")
importnode.setPropertyValue("default_value_mode", "Pass")

Scripting con il nodo Importa

È possibile utilizzare linguaggi di scripting, come Python, per impostare in modo programmatico le proprietà dei nodi.

Importa proprietà nodo

Le seguenti proprietà sono specifiche del nodo Importa. Per informazioni sulle proprietà comuni dei nodi, vedere Proprietà per flussi e nodi.

Tabella 1. Proprietà dei nodi per lo scripting
Nome proprietà Tipo di dati Descrizione proprietà
asset_type Stringa Questa proprietà specifica il tipo di dati. È necessario specificare uno dei seguenti tipi di dati: DataAsset o Connection.
asset_id Stringa Quando DataAsset è impostato per asset_type, questo è l'ID della risorsa. È necessario fornire un documento di identità se si utilizza una risorsa dati.
asset_name Stringa Quando DataAsset è impostato per il asset_type, questo è il nome della risorsa.
connection_id Stringa Quando Connection è impostato per, asset_type questo è l'ID della connessione al database. È necessario fornire un documento di identità se si utilizza una connessione.
connection_name Stringa Quando Connection è impostato per il asset_type, questo è il nome della connessione.
connection_path Stringa Quando Connection è impostato per il asset_type, questo è il percorso della tabella nella connessione. A seconda della connessione al database, il percorso include il catalogo e lo schema, ad esempio catalog_name/schema_name/table_name.
user_settings Stringa Stringa JSON con escape contenente le proprietà di interazione per la connessione, ad esempio:
"{\"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\"}}"
Questi valori cambieranno in base al tipo di connessione che stai utilizzando.

Esempio

Di seguito è riportato un esempio delle proprietà utilizzate in uno script.

import json

stream = sdg.script.stream()

importnode = stream.findByID("<import nodeId>")
# loads the string settings as a json object
userSettings = json.loads(dataassetimport.getPropertyValue("user_settings"))
userSettings["interactionProperties"]["sheet_name"] = "<new sheet name>"
importnode.setPropertyValue("user_settings", json.dumps(userSettings))