Este tópico demonstra como criar uma tarefa agendada no Data Studio usando um job do MaxCompute como exemplo. Este guia ajuda você a começar rapidamente a usar os recursos básicos do Data Studio.
Pré-requisitos
A fonte de dados necessária deve estar vinculada. Para mais informações, consulte Preparações: Vincular um mecanismo de computação ou um cluster.
Você deve ter as permissões da função Development. Para mais informações sobre como conceder permissões, consulte Adicionar membros a um workspace e gerenciar suas funções.
Este tópico usa um nó ODPS SQL como exemplo. Portanto, o workspace deve estar vinculado a uma fonte de dados do MaxCompute.
Contexto
O DataWorks Data Studio oferece uma interface visual de desenvolvimento para diversos mecanismos de computação, como MaxCompute, Hologres, EMR e CDH. Ele suporta desenvolvimento inteligente de código, limpeza e processamento de dados, além de implantação padronizada de tarefas, garantindo um desenvolvimento de dados eficiente e estável. Para mais informações, consulte Data Studio (legacy).
Normalmente, o processo de gravar dados brutos de negócios no DataWorks e processá-los em uma tabela de resultados final inclui as seguintes etapas:
-
Crie várias tabelas de dados no DataWorks. Por exemplo:
Uma tabela de origem para armazenar dados sincronizados de outras fontes de dados.
Uma tabela de resultados para armazenar dados limpos e processados pelo DataWorks.
Crie uma tarefa de sincronização para sincronizar dados de negócios com a tabela de origem.
Crie um nó de computação para limpar e processar os dados da tabela de origem em camadas e gravar o resultado de cada camada na tabela de resultados correspondente.
Alternativamente, após criar uma tabela, carregue dados locais diretamente na tabela de origem no DataWorks. Em seguida, use um nó de computação para limpar e processar os dados e armazenar os resultados na tabela de resultados. O exemplo deste tópico envolve o carregamento de dados locais e sua limpeza com um nó de computação.
Acessar o Data Studio
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 Development.
Procedimento
-
O desenvolvimento de dados é organizado em torno de workflows. Crie um workflow antes de começar a desenvolver código.
-
O DataWorks permite criar tabelas visualmente, exibidas em uma estrutura de diretórios. Antes de iniciar o desenvolvimento de dados, crie uma tabela no mecanismo de computação para armazenar os resultados da limpeza de dados.
-
O DataWorks encapsula tarefas de diferentes mecanismos de computação em tipos distintos de nós. Selecione o tipo de nó apropriado conforme as necessidades do seu negócio.
-
Na página de edição do nó, escreva sua lógica de negócios usando a sintaxe do mecanismo de banco de dados do nó.
-
Etapa 5: Definir configurações de agendamento para o nó.
Defina as propriedades de agendamento do nó para executá-lo periodicamente.
-
O DataWorks oferece três métodos para depurar seu código e verificar sua lógica: Execução rápida para trechos de código, Executar e Execução avançada.
-
Etapa 7: Salvar e enviar o nó.
Após depurar o nó, salve-o e envie-o.
-
Etapa 8: Executar teste de fumaça.
Para garantir que as tarefas de produção sejam executadas com eficiência e evitar desperdício de recursos de computação, execute um teste de fumaça na sua tarefa no ambiente de desenvolvimento para verificar sua correção antes da implantação.
-
O DataWorks executa apenas tarefas agendadas implantadas no ambiente de produção. Após o sucesso do teste de fumaça, implante a tarefa no sistema de agendamento de produção.
Etapa 1: Criar um workflow
O DataWorks organiza o desenvolvimento de dados em torno de workflows. Os workflows utilizam painéis semelhantes a contêineres para nós de desenvolvimento, agrupando ferramentas relacionadas, otimizações e ações de gerenciamento em torno de um objeto central. Essa abordagem simplifica o desenvolvimento e o gerenciamento. Agrupe tarefas de negócios relacionadas em um único workflow para atender aos seus requisitos.
-
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 Development.
-
Crie um workflow.
Crie um workflow de duas maneiras:
Método 1: Passe o mouse sobre o ícone
e clique em Create Workflow.Método 2: Na árvore de navegação à esquerda do Data Studio, clique com o botão direito em Workflow e selecione Create Workflow.
-
Insira um nome e uma descrição para o workflow e clique em Create.
Este tutorial cria um workflow chamado
Create your first scheduled task. Em um cenário real, planeje seus workflows com base nos requisitos do seu negócio.NotaPara mais informações sobre workflows, consulte Criar e gerenciar workflows.
Etapa 2: Criar tabelas
Os nós do Data Studio limpam e processam seus dados de origem. Portanto, crie primeiro tabelas no mecanismo de computação para armazenar os resultados da limpeza de dados e definir a estrutura da tabela.
-
Crie as tabelas.
No workflow criado na Etapa 1, expanda o subdiretório, clique com o botão direito em e selecione Create Table.
Configure o nome da tabela, a instância do mecanismo e outras informações.
Neste tutorial, as duas tabelas a seguir são criadas.
Nome da tabela
Descrição
bank_dataArmazena dados brutos de negócios.
result_tableArmazena os resultados dos dados limpos.
NotaPara as instruções de criação de tabela, consulte Instruções de criação de tabela.
Para mais informações sobre como criar tabelas visualmente para vários mecanismos, como criar tabelas do MaxCompute ou EMR, consulte Criar uma tabela.
-
Configure a estrutura da tabela.
Acesse a página de edição da tabela, alterne para o modo DDL e use instruções DDL para configurar a estrutura da tabela. Após gerar a estrutura da tabela, insira um Display Name para a tabela na seção General. Em seguida, envie-a tanto para o ambiente de desenvolvimento quanto para o ambiente de produção. Após enviar a tabela, visualize-a no projeto da fonte de dados do ambiente correspondente. Para visualizar as informações da fonte de dados vinculada para cada ambiente, consulte Vincular recursos de computação do MaxCompute.
NotaOperações de tabela, como criação e atualizações, só entram em vigor no mecanismo de computação após o envio para o ambiente correspondente.
Também é possível configurar a estrutura da tabela visualmente com base nas necessidades do seu negócio e nas instruções na tela. Para mais informações sobre como criar tabelas visualmente, consulte Criar e usar tabelas do MaxCompute.
A instrução a seguir serve como referência para gerar a estrutura da tabela
bank_data.CREATE TABLE IF NOT EXISTS bank_data ( age BIGINT COMMENT 'Age', job STRING COMMENT 'Job type', marital STRING COMMENT 'Marital status', education STRING COMMENT 'Education level', default STRING COMMENT 'Whether the user has a credit card', housing STRING COMMENT 'Housing loan', loan STRING COMMENT 'Personal loan', contact STRING COMMENT 'Contact method', month STRING COMMENT 'Month of the year', day_of_week STRING COMMENT 'Day of the week', duration STRING COMMENT 'Last contact duration, in seconds', campaign BIGINT COMMENT 'Number of contacts performed during this campaign', pdays DOUBLE COMMENT 'Days since the last contact from a previous campaign', previous DOUBLE COMMENT 'Number of contacts performed before this campaign', poutcome STRING COMMENT 'Outcome of the previous marketing campaign', emp_var_rate DOUBLE COMMENT 'Employment variation rate', cons_price_idx DOUBLE COMMENT 'Consumer price index', cons_conf_idx DOUBLE COMMENT 'Consumer confidence index', euribor3m DOUBLE COMMENT 'Euribor 3-month rate', nr_employed DOUBLE COMMENT 'Number of employees', y BIGINT COMMENT 'Whether the client has subscribed to a term deposit' );A instrução a seguir serve como referência para gerar a estrutura da tabela
result_table.CREATE TABLE IF NOT EXISTS result_table ( education STRING COMMENT 'Education level', num BIGINT COMMENT 'Number of people' ) PARTITIONED BY ( day STRING, hour STRING ); -
Carregue os dados.
Armazene seus dados brutos de negócios em uma tabela do DataWorks. Neste exemplo, o arquivo local banking.txt é carregado na tabela
bank_datano DataWorks para simular um cenário real de gravação de dados. No assistente de importação de dados, selecione primeiro a tabela de destino bank_data, confirme se o esquema da tabela inclui campos como age, job, marital, education, default e housing, e defina os parâmetros de partição. Em seguida, carregue o arquivo local banking.txt, defina o formato do arquivo como CSV, o delimitador como vírgula, o conjunto de caracteres como GBK e a linha inicial de importação como 1, e marque a caixa de seleção 'First row is header'. Por fim, selecione Match by Name como método de mapeamento de campos, confirme se o mapeamento entre os campos de origem e destino está correto e clique em Import Data para concluir a operação. Para mais informações sobre como carregar dados, consulte Carregar dados locais na tabela bank_data.
Etapa 3: Criar um nó
Selecione um tipo de nó apropriado para desenvolvimento com base nos requisitos do seu negócio.
Os nós do DataWorks são categorizados como nós de sincronização de dados e nós de computação. Em um processo típico de desenvolvimento, use primeiro uma tarefa de sincronização em lote para sincronizar dados de bancos de dados de negócios com um data warehouse. Depois, utilize nós de computação do DataWorks para limpar e processar os dados das tabelas no warehouse.
-
Crie um nó.
Crie um nó de duas maneiras:
-
Método 1: Criar a partir da árvore de navegação.
Na árvore de navegação, localize o workflow criado na Etapa 1 em Workflow.
Clique com o botão direito no mecanismo desejado e selecione um nó apropriado em Create Node.
-
Método 2: Criar a partir do painel do workflow.
Na árvore de navegação, localize o workflow criado na Etapa 1 em Workflow.
Clique duas vezes no workflow para abrir seu painel.
No painel de navegação à esquerda do painel, clique no nó desejado ou arraste-o para a tela.
-
-
Configure a instância do mecanismo do nó, o nome e outras definições.
Este tutorial cria um nó ODPS SQL chamado
result_table, que tem o mesmo nome da tabela de resultados criada na Etapa 2.NotaAo usar nós do DataWorks para desenvolvimento de dados, você limpa dados com um nó de desenvolvimento e armazena os resultados em uma tabela de resultados. Nomeie o nó com o mesmo nome da tabela de resultados que ele preenche para facilitar a localização dos dados da tabela produzidos pelo nó.
Na seção Common Nodes do painel do Data Studio, arraste o nó ODPS SQL para a tela à direita para criá-lo.
Etapa 4: Editar o nó
Localize o nó criado na Etapa 3 na árvore de navegação do workflow ou no painel do workflow. Clique duas vezes no nó para abrir o editor. Com base no tipo de nó, escreva sua lógica de negócios usando a sintaxe do banco de dados correspondente.
Neste tutorial, o nó result_table grava dados de uma partição específica da tabela bank_data na partição correspondente da tabela result_table. A partição de destino é definida usando as variáveis day e hour.
Durante o desenvolvimento de código, se precisar substituir parâmetros dinamicamente em um contexto de agendamento, defina variáveis no seu código usando o formato
${your_variable_name}. Em seguida, atribua um valor a essa variável ao definir as configurações de agendamento na Etapa 5.Para mais informações sobre parâmetros de agendamento, consulte Formatos suportados para parâmetros de agendamento.
Para mais informações sobre a sintaxe de desenvolvimento para diferentes tipos de nós, consulte Criar e usar nós.
--@exclude_output=xc_DPE_E2.result_table
--@exclude_input=bank_data
--odps sql
--***********************************************************--
--author:xxx
--create time:2022-08-11 14:33:23
--***********************************************************--
INSERT OVERWRITE TABLE result_table partition (day='${day}', hour='${hour}')
SELECT education
, COUNT(marital) AS num
FROM bank_data
WHERE day='${day}' and hour='${hour}'
GROUP BY education;
O código a seguir é fornecido para sua referência.
INSERT OVERWRITE TABLE result_table partition (day='${day}', hour='${hour}')
SELECT education
, COUNT(marital) AS num
FROM bank_data
GROUP BY education;
Etapa 5: Definir configurações de agendamento
Configure as propriedades de agendamento para executar o nó periodicamente. Na página do editor de nós, clique em Scheduling no painel de navegação à direita e configure as propriedades com base nos requisitos do seu negócio.
|
Parâmetro |
Descrição |
|
O DataWorks exibe automaticamente o nome, ID, tipo e proprietário do nó. Essas propriedades não exigem configuração separada. Nota
|
|
|
Defina os parâmetros usados para o agendamento do nó. O DataWorks fornece parâmetros integrados e personalizados para atribuição dinâmica de parâmetros durante o agendamento de tarefas. Se você definiu variáveis no código na Etapa 4, atribua valores a elas aqui. Este tutorial atribui valores às variáveis da Etapa 4 para gravar dados horários da tabela
Após configurar essas definições na seção Parameters do painel Scheduling, os valores atribuídos a |
|
|
As propriedades de tempo definem como e quando o nó é executado. Use essas configurações para definir a geração periódica de instâncias, ciclo de agendamento, horário de execução, suporte a reexecução e o período de tempo limite para término automático da tarefa. Nota
Neste tutorial, o nó |
|
|
Configure o grupo de recursos de agendamento a ser usado quando a tarefa for implantada no ambiente de produção para agendamento. Este tutorial usa o grupo de recursos serverless padrão fornecido quando o DataWorks foi ativado. Para mais informações, consulte Usar um grupo de recursos serverless. |
|
|
Defina as dependências upstream e downstream para o agendamento do nó. Configure as dependências com base na linhagem de dados. Isso garante que o nó atual seja executado apenas após a conclusão bem-sucedida das tarefas upstream que produzem os dados necessários, permitindo que ele consulte corretamente os dados da tabela upstream. Nota
Neste tutorial, suponha que uma tarefa fora do workflow atual produza a tabela |
|
|
Define como os parâmetros são passados entre nós upstream e downstream. Um nó downstream pode usar esse recurso para recuperar valores de um nó upstream. Nota
Esse recurso é normalmente usado com nós de atribuição ou parâmetros de atribuição.
|
Etapa 6: Depurar o código
Utilize os seguintes métodos para depurar a lógica do seu código e garantir que esteja correta.
|
Método |
Descrição |
Recomendação |
|
Executa rapidamente um trecho de código selecionado. |
Ideal quando você precisa executar rapidamente um pedaço de código. |
|
|
Barra de ferramentas: Executar ( |
Atribui valores constantes às variáveis para uma execução de teste. Nota
Na primeira vez que você clica em Executar em um novo nó, atribua manualmente valores constantes às variáveis de código na caixa de diálogo. Essa atribuição é salva e não precisa ser repetida para execuções subsequentes. |
Recomendado se você precisar depurar frequentemente todo o código. |
|
Barra de ferramentas: Execução Avançada ( |
Exige que você atribua valores constantes às variáveis para cada execução de teste. |
Indicado se você precisar alterar as atribuições de variáveis para uma execução de teste. |
Este tutorial usa a Execução avançada para testar os resultados da execução para 2022.09.07 14:00. Na caixa de diálogo Parameters, selecione um Scheduling Resource Group (por exemplo, Public Scheduling Resource Group). Na seção Custom Parameters, defina os valores dos parâmetros (por exemplo, day=20220907 e hour=14). Clique em OK para executar o código. O log de execução mostra que a execução foi bem-sucedida.
Etapa 7: Salvar e enviar o nó
Após configurar e testar o nó, salve a configuração e envie o nó para o ambiente de desenvolvimento.
Envie o nó apenas após ter configurado o Rerun attribute e os Parent Nodes na Etapa 5.
Clique no ícone
na barra de ferramentas para salvar a configuração do nó.Clique no ícone
na barra de ferramentas para enviar o nó ao ambiente de desenvolvimento.
Etapa 8: Executar teste de fumaça
Realize testes de fumaça antes de implantar uma tarefa para garantir que as tarefas de produção sejam executadas com eficiência e evitar desperdício de recursos de computação. O teste de fumaça é executado no ambiente de desenvolvimento, portanto, envie primeiro o nó para esse ambiente. Após o envio:
Clique no ícone
na barra de ferramentas e configure a data de negócios na caixa de diálogo de teste de fumaça.Após a conclusão do teste de fumaça, clique no ícone
na barra de ferramentas para visualizar os resultados do teste.
Este tutorial testa se a configuração do parâmetro de agendamento atende às expectativas. O nó result_table está agendado para executar a cada hora, das 00:00 às 23:59. Portanto, a configuração na figura a seguir gerará duas instâncias horárias, com horários de execução agendados para 00:00 e 01:00, respectivamente.
Uma instância é um snapshot de uma tarefa gerado quando uma tarefa periódica é executada de acordo com seu agendamento.
Como o nó
result_tableestá definido como uma tarefa horária, configure não apenas a data de negócios para o teste de fumaça, mas também selecione o intervalo de tempo das instâncias a serem executadas.Para mais informações sobre testes de fumaça, consulte Executar teste de fumaça.
Clique no ícone Smoke testing (☑) na barra de ferramentas superior. No painel de teste de fumaça que aparece, defina a Business Date (por exemplo, 2022-09-01), Start Time (00:00) e End Time (01:00).
Etapa 9: Implantar a tarefa
Em um workspace de modo básico, as tarefas são agendadas periodicamente após o envio. Em um workspace de modo padrão, uma tarefa enviada entra em estado "a ser implantado". Em seguida, implante a tarefa no ambiente de produção para habilitar o agendamento periódico.
O DataWorks suporta agendamento automático apenas para tarefas implantadas no ambiente de produção. Após o sucesso do teste de fumaça, implante a tarefa no sistema de agendamento de produção para habilitar o agendamento periódico.
Para mais informações sobre as diferenças entre os modos de workspace, consulte Diferenças entre modos de workspace.
Em um workspace de modo padrão, quaisquer alterações enviadas no Data Studio, como criação, atualização ou exclusão de nós, recursos e funções, são enviadas para a página de implantação de tarefas para aguardar implantação. Para aplicar essas alterações, acesse e crie um pacote de implantação para liberá-las no ambiente de produção. As alterações tornam-se ativas somente após uma implantação bem-sucedida. Para mais informações, consulte Implantar tarefas.
A tabela a seguir descreve o processo de implantação.
|
Tópico de implantação |
Descrição |
|
Controle do processo de implantação |
Permissões de função e controles de processo restringem as operações de implantação. Após realizar uma implantação, verifique se o status do pacote de implantação é "bem-sucedido". Nota
|
|
Controle de vigência da implantação |
Para implantações realizadas durante a janela diária de geração de instâncias ( Nota
Essa restrição afeta os modos de geração de instâncias Next Day e Immediately After Deployment. Para mais informações sobre esses modos, consulte Modos de geração de instâncias. |
Próximas etapas
Acesse para visualizar as tarefas de agendamento em lote implantadas no ambiente de produção e realizar operações relacionadas de O&M. Para mais informações, consulte O&M básico para tarefas periódicas.