jako programista zawsze definiujesz kolumny i ich typy danych w zakładce „Kolumna”na każdym etapie.
Czy wiesz, że masz inny sposób definiowania kolumn niż zakładka kolumny?
Schematy są alternatywnym sposobem określania definicji kolumn dla danych używanych przez zadania równoległe.
jak wiadomo, większość równoległych etapów pracy domyślnie pobiera metadane z karty kolumny, która zawiera definicje tabel, uzupełnione, w razie potrzeby, informacjami o formacie z karty Format.
w przypadku niektórych etapów można określić właściwość, która spowoduje, że etap będzie pobierał metadane z podanego pliku schematu.
Czytaj także: różnica między sortowaniem linków a etapem sortowania
niektóre etapy pozwalają nam również określić częściowy schemat. Pozwala to zdefiniować tylko te kolumny, które dany etap przetwarza i zignorować resztę kolumn.
plik schematu jest plikiem tekstowym. I lepiej jest zapisać go z”.schema ’ rozszerzenie, tak, że można je łatwo zidentyfikować w systemie plików.
format pliku schematu:
schemat zawiera definicję rekordu (lub wiersza). Opisuje każdą kolumnę (lub pole), która zostanie napotkana w rekordie, podając nazwę kolumny i typ danych. Poniżej znajduje się przykładowy schemat rekordów:
name: string;
address:nullable string;
value1:int32;
value2:int32;
dateofbirth:date)
podziały linii są dostępne dla ułatwienia odczytu, jeśli chcesz, możesz je pominąć, jeśli definiowałeś częściowy schemat, na przykład
record(name:string;value1:int32;dateofbirth:Data)
jest prawidłowym schematem.
format każdej linii opisującej kolumnę to:
column_name:datatype;
column_name: jest to nazwa, która identyfikuje kolumnę. Nazwy muszą zaczynać się od litery lub podkreślenia ( _ ) i mogą zawierać tylko znaki alfanumeryczne lub podkreślenia. Wielkość liter w nazwie nie jest uwzględniana.
nullability: opcjonalnie można określić, czy kolumna może zawierać wartość null, czy będzie ona postrzegana jako nieprawidłowa. Jeśli kolumna może być null, Wstaw słowo „nullable”. Domyślnie kolumny nie są nullable.
Możesz również dodać 'nullable’ na poziomie rekordu, aby określić, że wszystkie kolumny są nullable, a następnie zastąpić ustawienie dla poszczególnych kolumn, określając 'not nullable’. Na przykład:
nazwa: not nullable string;
value1: int32;
dateofbirth: date)
typ danych: Jest to typ danych kolumny. Używa wewnętrznych typów danych, ale nie typów danych SQL używanych na kartach kolumn w edytorach stage.
komentarze można umieszczać w plikach definicji schematu. Komentarz rozpoczyna się podwójnym ukośnikiem//, a kończy znakiem nowej linii.
należy zawsze upewnić się, że propagacja kolumn w środowisku wykonawczym jest włączona, jeśli chcesz używać plików schematów do definiowania metadanych kolumn.
Czytaj także: Jak działa funkcja FIELD w DataStage?