como desenvolvedor, você sempre define as colunas e seus tipos de dados na guia ‘coluna’ em cada estágio.
você sabe, você tem outra maneira de definir colunas diferentes da guia Colunas?
esquemas são uma maneira alternativa de especificar definições de coluna para os dados usados por trabalhos paralelos.
como você sabe, por padrão, a maioria dos estágios de trabalho paralelos obtém seus meta-dados na guia Colunas, que contém definições de tabela, complementadas, quando necessário, por informações de formato na guia Formato.
para alguns estágios, você pode especificar uma propriedade que faz com que o estágio obtenha seus metadados do arquivo de esquema especificado.
Leia também: diferença entre a classificação do link e o estágio de classificação
alguns estágios também nos permitem especificar um esquema parcial. Isso permite que você defina apenas as colunas que um determinado estágio está processando e ignore o restante das colunas.
o arquivo de esquema é um arquivo de texto simples. E é preferível salvá-lo com ‘.extensão schema’, para que você possa identificá-los facilmente no sistema de arquivos.
formato do arquivo de esquema:
um esquema contém uma definição de registro (ou linha). Isso descreve cada coluna (ou campo) que será encontrado dentro do registro, dando nome da coluna e tipo de dados. O seguinte é um exemplo de esquema de registro:
name: string;
address:anulável seqüência de caracteres;
valor1:int32;
valor2:int32;
data de nascimento:data)
As quebras de linha estão lá para facilitar a leitura, se você quiser, pode omitir estes se foram definindo parcial de um esquema, por exemplo,
registro(nome:string;valor1:int32;data de nascimento:data de)
é um esquema válido.
o formato de cada linha que descreve uma coluna é:
column_name:datatype;
column_name: este é o nome que identifica a coluna. Os nomes devem começar com uma letra ou um sublinhado ( _ ) e podem conter apenas caracteres alfanuméricos ou sublinhados. O nome não diferencia maiúsculas de minúsculas.Nulabilidade: você pode especificar opcionalmente se uma coluna tem permissão para conter um valor nulo ou se isso seria visto como inválido. Se a coluna puder ser nula, insira a palavra ‘nullable’. Por padrão, as colunas não são anuláveis.
você também pode incluir ‘anulável’ no nível do registro para especificar que todas as colunas são anuláveis e, em seguida, substituir a configuração para colunas individuais especificando ‘não anulável’. Por exemplo:
name: not nullable string;
value1:int32;
dateofbirth: date)
datatype: Este é o tipo de dados da coluna. Isso usa os tipos de dados internos, mas não os tipos de dados SQL usados nas guias colunas nos editores de palco.
você pode incluir comentários em arquivos de definição de esquema. Um comentário é iniciado por uma barra dupla / / e encerrado por uma nova linha.
você deve sempre garantir que a propagação da coluna de tempo de execução esteja ativada se quiser usar arquivos de esquema para definir metadados da coluna.
Leia também: Como funciona a função de campo no DataStage?