O DataWorks Data Integration permite usar expressões de função para atribuir valores aos campos da tabela de destino em tarefas de sincronização em tempo real de banco de dados completo.
Limites
Você pode usar expressões de função para definir atribuições de campo para tabelas de destino apenas em tarefas de sincronização em tempo real de banco de dados completo que utilizam MySQL ou PolarDB como source e MaxCompute ou Hologres como destino.
Funções e sintaxe suportadas
Funções suportadas
|
Nome da função |
Descrição |
Parâmetros |
Exemplo de expressão |
|
CONCAT |
Concatena strings. |
|
|
|
DATE_FORMAT |
Converte um timestamp em uma string de hora em um formato específico. |
|
|
|
TO_TIMESTAMP |
Converte uma string de hora em um timestamp de 10 ou 13 dígitos. |
|
|
|
DATE_CONVERT |
Converte uma string de hora de um formato e fuso horário para outro formato e fuso horário. |
|
|
|
SUBSTRING |
Extrai uma substring de uma string. |
|
|
|
LOWER |
Converte uma string para minúsculas. |
|
|
|
UPPER |
Converte uma string para maiúsculas. |
|
|
Sintaxe suportada
Somente expressões de chamada de função são suportadas. A expressão deve conter nome da função, parênteses e parâmetros. Outros tipos de expressão não são aceitos. Exemplo:
DATE_FORMAT(#{create_time},"millis","Asia/Shanghai","yyyyMMdd").Literais de string nos parâmetros da expressão de função devem estar entre aspas duplas (
""). Exemplo:CONCAT("hello","world").Literais numéricos nos parâmetros da expressão de função podem ser inseridos diretamente como números. Exemplo:
SUBSTRING(#{col1},0,10).Chamadas de função podem ser aninhadas nos parâmetros. Exemplo:
CONCAT(SUBSTRING(#{col1},0,10),"test").Use
#{}para referenciar valores de colunas de saída de nós ancestrais.Use
${}para referenciar variáveis integradas. Os tipos de variáveis integradas suportados correspondem aos disponíveis nas configurações de coluna adicional de cada canal. Exemplo:CONCAT(SUBSTRING(#{col1},0,10),${DATASOURCE_NAME_SRC}).Nomes de funções e de variáveis integradas não diferenciam maiúsculas de minúsculas.
Pré-requisitos
Configure uma fonte de dados. A source deve ser MySQL ou PolarDB, e o destino deve ser MaxCompute ou Hologres. Para mais informações, consulte Configuração de fonte de dados.
Crie uma tarefa de sincronização em tempo real de banco de dados completo.
Procedimento
Etapa 1: Acessar a página de edição da tarefa em tempo real de banco de dados completo
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Integration.
No painel de navegação à esquerda, clique em
para acessar a página de tarefas de sincronização.Localize a tarefa de sincronização em tempo real de banco de dados completo desejada. Na coluna Actions, escolha para abrir a página de configuração da tarefa de sincronização.
Etapa 2: Adicionar uma coluna processada por função à tabela de destino
Adicione a coluna processada por função ao esquema da tabela de destino antes de gravar dados nela.
Na página de configuração da tarefa em tempo real de banco de dados completo, clique em Next. Na seção Target Table Mapping, clique em Refresh Mapping.
Localize a tabela de destino à qual deseja adicionar uma coluna processada por função e clique no ícone
na coluna Destination Table Name para acessar a página de configuração do esquema da tabela.-
Na seção Field, clique em Add Fields. Após configurar o campo, clique em Apply and Refresh Mapping.
Você também pode selecionar Target Table Structure - Batch Modify and Add Fields em Batch Operations para adicionar colunas processadas por função a várias tabelas de destino.
Etapa 3: Definir a expressão de função
Na coluna Value assignment, clique em Configure para abrir a página de atribuição de campo.
-
Na seção Destination Table Field, localize a coluna processada por função adicionada. Defina o Assignment Method como Function. Em seguida, insira a expressão de função na coluna Assign. Para mais informações, consulte Funções e sintaxe suportadas.
O parâmetro Assignment Method oferece três opções: Manual Assignment, Select Variable e Function. Você só pode atribuir valores a campos inexistentes na tabela de source. Caso contrário, o sistema usa o valor do campo homônimo da tabela de source.