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.
- Nelle impostazioni del nodo Data Asset, espandere la sezione Storage.
- Seleziona Sovrascrivi per il campo che desideri modificare, quindi seleziona il nuovo tipo dall'elenco Archiviazione.
- Espandi la sezione Tipo e seleziona Pass.
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.
| 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))