Como o recurso de ingestão de dados do DLF não recebe mais atualizações, este tópico demonstra como usar a integração de dados do DataWorks para ingerir dados de uma instância do ApsaraDB RDS for MySQL. Você também aprenderá a criar um projeto externo no MaxCompute para consultar dados de tabelas gerenciadas pelo DLF.
Limitações
A solução de data lakehouse tem suporte apenas nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Shenzhen), China (Hong Kong), Singapura e Alemanha (Frankfurt).
O MaxCompute, o OSS, o ApsaraDB RDS e o DLF devem estar implantados na mesma região.
Ingira dados do MySQL em um data lake
Para obter detalhes sobre a ingestão de dados no DLF, consulte Início rápido.
Etapa 1: Crie um metadatabase de data lake
Faça login no console do DLF. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha e crie um metadatabase. Para mais informações, consulte Bancos de dados, tabelas e funções.
Etapa 2: Importe dados para o OSS com o DataWorks
-
Prepare os dados de source.
Acesse o console do ApsaraDB RDS, selecione uma região e clique em Instances no painel de navegação à esquerda.
Selecione a instância desejada do ApsaraDB RDS e faça login no banco de dados.
-
Crie uma tabela no banco de dados do ApsaraDB RDS e insira dados de teste. Para mais informações, consulte Use o DMS para fazer login em uma instância do ApsaraDB RDS for MySQL. Por exemplo, crie uma tabela chamada rds_mc com as seguintes instruções SQL:
CREATE TABLE `rds_mc` ( `id` varchar(32) , `name` varchar(32) , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(1,"Alice"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(2,"zhangsan"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(3,"zhaosi"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(4,"wangwu"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(5,"55555"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(8,"6666"); SELECT * FROM `rds_mc`;
-
Prepare uma fonte de dados do ApsaraDB for RDS for MySQL.
Configure uma fonte de dados MySQL no DataWorks. Para mais informações, consulte Configurar uma fonte de dados MySQL.
-
Prepare uma fonte de dados do OSS.
Configure uma fonte de dados do OSS no DataWorks. Para mais informações, consulte Configurar uma fonte de dados do OSS.
-
Crie e execute uma tarefa de sincronização de dados.
Crie uma tarefa de sincronização em lote no módulo DataStudio do DataWorks. Para mais informações, consulte Configurar uma tarefa de sincronização em lote usando o assistente. Os principais parâmetros são:
-
Defina as configurações de rede e recursos.
Parâmetro
Descrição
Origem
Tipo de fonte de dados
MySQL
Fonte de dados
Selecione a fonte de dados MySQL criada.
Grupo de recursos
My Resource Group
Selecione o grupo de recursos exclusivo criado para Integração de Dados.
Destino
Tipo de fonte de dados
OSS
Fonte de dados
Selecione a fonte de dados do OSS criada.
-
Configure a tarefa.
Na aba Configure tasks, especifique a tabela e o nome do arquivo.
Parâmetro
Descrição
Tabela
Nome da tabela criada no banco de dados do ApsaraDB for RDS.
Nome do arquivo (incluindo caminho)
Formato: <Nome do diretório de arquivos criado no OSS>/<Arquivo de dados a ser exportado para o OSS>.
Exemplo:
doc-test-01/datalake/anti.csv. -
Clique no ícone
no canto superior esquerdo da página de configuração da tarefa de sincronização em lote para salve as definições. Em seguida, clique no ícone
para execute a tarefa. -
Após a execução bem-sucedida da tarefa no DataWorks, verifique se os dados foram importados para o caminho configurado na fonte de dados do OSS.
-
Etapa 3: Descubra metadados com o DLF
No console do DLF, use a descoberta de metadados para ingerir os dados. Para mais informações, consulte Descoberta de metadados.
Etapa 4: Visualize os metadados do data lake
No console do DLF, clique em MetaData > Metadata Management, acesse o banco de dados desejado e visualize as informações da tabela na aba Table List.
Se o método de serialização da tabela após a descoberta de metadados for org.apache.hadoop.hive.serde2.OpenCSVSerde, o MaxCompute poderá interpretar incorretamente os tipos de campo como um tipo de string específico do opencsv, em vez de um tipo de string padrão. Isso pode causar falhas na consulta. Para resolver esse problema, altere manualmente o tipo de dados de todos os campos afetados para string no DLF.
Autorização
A construção de um data lakehouse com MaxCompute, DLF e OSS exige autorização, pois a conta usada para criar o projeto do MaxCompute não possui acesso padrão ao DLF e ao OSS. Conceda permissões usando um dos métodos a seguir:
Autorização com um clique: Recomendado quando se usa a mesma conta para o projeto do MaxCompute, DLF e OSS. Clique em Autorizar DLF e OSS para conceder as permissões necessárias.
Autorização personalizada: Este método serve tanto para contas iguais quanto diferentes nos projetos MaxCompute, DLF ou OSS. Para mais informações, consulte Autorização personalizada.
Crie um projeto externo no MaxCompute
Crie um projeto externo no console do DataWorks.
Acesse o console do DataWorks. Na barra de navegação superior, selecione a região China (Shanghai).
No painel de navegação à esquerda, escolha .
Na página Lake and Warehouse Integration (Data Lakehouse), clique em Start.
-
Na página Create Data Lakehouse, siga as instruções na tela para configure os parâmetros.
Tabela 1. Criar um data warehouse
Parâmetro
Descrição
External Project Name
ext_dlf_delta
MaxCompute Project
ms_proj1
Tabela 2. Criar uma conexão externa de data lake
Parâmetro
Descrição
Heterogeneous Data Platform Type
Selecione Alibaba Cloud DLF + OSS Data Lake Connection
Nenhum
Alibaba Cloud DLF + OSS Data Lake Connection
External Project Description
Nenhum
Região do DLF
cn-shanghai
Endpoint do DLF
dlf-share.cn-shanghai.aliyuncs.com
Nome do banco de dados DLF
datalake
DLF RoleARN
Nenhum
-
Clique em Create e depois em Preview.
Se for possível visualize as informações da tabela no banco de dados do DLF, a operação foi bem-sucedida.
Consulte dados do projeto externo com o MaxCompute
Na página de consultas ad hoc do DataWorks, consulte os dados da tabela no projeto externo.
Para mais informações sobre consultas ad hoc no DataWorks, consulte Usar consultas ad hoc para executar instruções SQL.
-
Comando de exemplo:
select * from ext_dlf_delta.rds_mc; Resultado: O comando retorna os registros das colunas
idenameda tabelards_mc. Isso confirma a sincronização bem-sucedida dos metadados do data lake.