som utvikler definerer du alltid kolonnene og deres datatyper i Kolonne-fanen i hvert trinn.
vet du, har du en annen måte å definere kolonner enn kolonner-fanen?
Skjemaer er en alternativ måte å angi kolonnedefinisjoner for dataene som brukes av parallelle jobber.
som du vet, tar de fleste parallelle jobbstadier som standard metadata fra Kolonner-fanen, som inneholder tabelldefinisjoner, supplert, om nødvendig av formatinformasjon fra Format-fanen.
for noen stadier kan du angi en egenskap som gjør at scenen tar metadata fra den angitte skjemafilen i stedet.
Les også: Forskjell mellom link sorter og sorteringsstadium
Noen stadier tillater oss også å spesifisere et delvis skjema. Dette lar deg definere bare de kolonnene som et bestemt stadium behandler og ignorerer resten av kolonnene.
skjemafilen er en ren tekstfil. Og det er å foretrekke å lagre det med ‘.schema ‘ forlengelse, slik at du enkelt kan identifisere dem i filsystemet.
Skjemafilformat:
et skjema inneholder en postdefinisjon (eller rad). Dette beskriver hver kolonne (eller felt) som vil oppstå i posten, og gir kolonnenavn og datatype. Følgende er et eksempel på postskjema:
navn: streng;
adresse:nullable streng;
value1: int32;
value2: int32;
dateofbirth:date)
linjeskiftene er der for enkel lesing, hvis du vil kan du utelate disse hvis du definerer et delvis skjema, for eksempel
post(navn: string; value1: int32; dateofbirth: date)
er et gyldig skjema.
formatet på hver linje som beskriver en kolonne er:
column_name:datatype;
kolonnenavn: dette er navnet som identifiserer kolonnen. Navn må starte med en bokstav eller understreking ( _ ), og kan bare inneholde alfanumeriske eller understrekingstegn. Navnet er ikke saksfølsomt.
nullability: du kan eventuelt angi om en kolonne har lov til å inneholde en nullverdi, eller om dette vil bli sett på som ugyldig. Hvis kolonnen kan være null, sett inn ordet ‘nullable’. Som standard kolonner er ikke nullable.
Du kan også inkludere ‘nullable’ på postnivå for å angi at alle kolonnene er nullable, og deretter overstyre innstillingen for individuelle kolonner ved å angi ‘ikke nullable’. For eksempel:
navn:ikke nullable streng;
verdi1:int32;
datofbirth: dato)
datatype: Dette er datatypen til kolonnen. Dette bruker de interne datatypene, men IKKE SQL-datatyper som brukes på Kolonner-faner i sceneditorer.
du kan inkludere kommentarer i skjemadefinisjonsfiler. En kommentar er startet av en dobbel skråstrek //, og endte med en ny linje.
du bør alltid sørge For At Runtime Kolonneutbredelse er slått på hvis du vil bruke skjemafiler til å definere kolonne metadata.
Les også: Hvordan FELTFUNKSJONEN Fungerer I DataStage?