Come sviluppatore definisci sempre le colonne e i loro tipi di dati nella scheda “Colonna” in ogni fase.
Sai, hai un altro modo per definire colonne diverse dalla scheda colonne?
Gli schemi sono un modo alternativo per specificare le definizioni di colonna per i dati utilizzati dai lavori paralleli.
Come sapete, per impostazione predefinita, la maggior parte delle fasi di lavoro parallele prende i metadati dalla scheda Colonne, che contiene le definizioni delle tabelle, integrate, se necessario, dalle informazioni sul formato dalla scheda Formato.
Per alcune fasi, è possibile specificare una proprietà che fa sì che la fase prenda i metadati dal file dello schema specificato.
Leggi anche: Differenza tra link sort e sort stage
Alcune fasi consentono anche di specificare uno schema parziale. Ciò consente di definire solo le colonne che una determinata fase sta elaborando e ignorare il resto delle colonne.
Il file schema è un file di testo normale. Ed è preferibile salvarlo con’.estensione schema’, in modo da poterli identificare facilmente nel file system.
Formato file schema:
Uno schema contiene una definizione di record (o riga). Questo descrive ogni colonna (o campo) che verrà rilevato all’interno del record, dando il nome della colonna e il tipo di dati. Di seguito è riportato uno schema di record di esempio:
nome: string;
indirizzo:nullable string;
value1:int32;
value2:int32;
dateofbirth:date)
Le interruzioni di riga sono lì per facilità di lettura, se vuoi puoi ometterle se stai definendo uno schema parziale, ad esempio
record(name:string;value1:int32;dateofbirth: date)
è uno schema valido.
Il formato di ogni riga che descrive una colonna è:
column_name:datatype;
column_name: Questo è il nome che identifica la colonna. I nomi devono iniziare con una lettera o un carattere di sottolineatura ( _ ) e possono contenere solo caratteri alfanumerici o di sottolineatura. Il nome non è case sensitive.
nullability: è possibile specificare facoltativamente se una colonna può contenere un valore null o se questo potrebbe essere considerato non valido. Se la colonna può essere null, inserire la parola ‘nullable’. Per impostazione predefinita, le colonne non sono annullabili.
Puoi anche includere ‘nullable’ a livello di record per specificare che tutte le colonne sono annullabili, quindi sovrascrivere l’impostazione per le singole colonne specificando ‘not nullable’. Ad esempio:
name:not nullable string;
value1: int32;
dateofbirth: date)
datatype: Questo è il tipo di dati della colonna. Questo utilizza i tipi di dati interni ma non i tipi di dati SQL utilizzati nelle schede Colonne negli editor di fase.
È possibile includere commenti nei file di definizione dello schema. Un commento inizia con una doppia barra / / e termina con una nuova riga.
È sempre necessario assicurarsi che la propagazione della colonna di Runtime sia attivata se si desidera utilizzare i file dello schema per definire i metadati della colonna.
Leggi anche: Come funziona la funzione di CAMPO in DataStage?