AnalyticDB for MySQL oferece suporte à migração de dados do Hive para o OSS por meio do recurso de migração de dados. Este tópico descreve como adicionar uma fonte de dados Hive, criar e iniciar um job de migração de dados, analisar os dados após a migração e gerenciar o job de migração de dados.
Recursos
O AnalyticDB for MySQL permite migrar metadados e dados do Hive para o OSS com um único clique. Também é possível migrar vários bancos de dados e tabelas em paralelo.
Pré-requisitos
Um cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition foi criado.
A job resource group is created para o cluster AnalyticDB for MySQL.
-
Uma conta de banco de dados foi criada para o cluster AnalyticDB for MySQL.
Se você usar uma conta Alibaba Cloud, basta crie a privileged account.
Caso utilize um usuário do Resource Access Management (RAM), é necessário crie a privileged account and a standard account e associate the standard account with the RAM user.
Crie um cluster E-MapReduce ou um cluster CDH autogerenciado em instâncias ECS na mesma região do cluster AnalyticDB for MySQL. O cluster deve atender aos seguintes requisitos:
-
Cluster E-MapReduce: O cenário de negócios do cluster é New Data Lake, o tipo de metadados é Self-managed RDS ou Built-in MySQL e o service Hive está ativado. O Hive Storage Mode deve ser HDFS, o que significa que a caixa de seleção Data Lake Storage não está marcada. Para obter mais informações, consulte Create a cluster.
ImportanteClusters E-MapReduce com DLF Unified Metadata como tipo de metadados não oferecem suporte à migração de dados do Hive para o OSS.
Se o Data Lake Storage do seu cluster E-MapReduce for Data Lake Storage, os dados já estão no OSS. Use o recurso de descoberta de metadados para importar os dados para o AnalyticDB for MySQL. Para obter mais informações, consulte Import data by using metadata discovery.
Um cluster CDH autogerenciado em instâncias ECS.
Crie bancos de dados e tabelas particionadas no Hive. Para obter mais informações, consulte Basic Hive operations.
Faturamento
A migração de dados para o OSS usando o recurso de migração de dados do AnalyticDB for MySQL gera as seguintes taxas.
Taxas de recursos elásticos para as ACUs do seu cluster AnalyticDB for MySQL. Para obter mais informações sobre itens faturáveis, consulte Billable items of Data Lakehouse Edition.
Taxas de armazenamento, taxas de solicitações GET e taxas de solicitações PUT e outras para o OSS. Para obter mais informações sobre itens faturáveis, consulte Billing overview.
Fluxo de trabalho
Etapa 1: Crie a Hive data source.
Etapa 2: Crie a data migration job.
Etapa 3: Start the data migration job.
Etapa 4: Analyze the data.
Etapa 5 (Opcional): Gerencie the data migration job.
Criar uma fonte de dados Hive
Caso já tenha adicionado uma fonte de dados Hive, pule esta etapa e crie o job de migração de dados diretamente. Para obter mais informações, consulte Crie a data migration job.
Faça login no console do AnalyticDB for MySQL. No canto superior esquerdo do console, selecione uma região. No painel de navegação à esquerda, clique em Clusters. Localize o cluster que deseja gerenciar e clique no ID do cluster.
No painel de navegação à esquerda, escolha Data Ingestion>Data Sources.
No canto superior esquerdo, clique em Create Data Source.
-
Na página Create Data Source, configure os parâmetros. As tabelas a seguir descrevem os parâmetros.
Alibaba Cloud Instance
Parâmetro
Descrição
Data Source Type
Selecione Hive.
Data Source Name
O sistema gera automaticamente um nome com base no tipo de fonte de dados e na hora atual. Edite esse nome conforme necessário.
Data Source Description
Uma descrição da fonte de dados, como seu caso de uso e restrições de negócios.
Deployment Mode
Se você utilizar o service Hive do E-MapReduce, selecione Alibaba Cloud Instance.
Instance
Selecione a instância do E-MapReduce para a qual a fonte de dados aponta.
Hive Metastore URI
O endereço de conexão do Hive Metastore. O formato é
thrift://<IP address of the master node>:<Port number>. O número da porta padrão é 9083.Para visualizar o endereço IP do nó mestre:
Faça login no console do EMR on ECS. Na aba Nodes, clique no ícone
ao lado do nó emr-master para visualizar o endereço IP privado do nó mestre.Self-managed CDH on ECS
Parâmetro
Descrição
Data Source Type
Selecione Hive.
Data Source Name
O sistema gera automaticamente um nome com base no tipo de fonte de dados e na hora atual. Edite esse nome conforme necessário.
Data Source Description
Uma descrição da fonte de dados, como seu caso de uso e restrições de negócios.
Deployment Mode
Se você possuir um cluster CDH autogerenciado em instâncias ECS, selecione Self-managed CDH on ECS.
Instance
Selecione a instância ECS para a qual a fonte de dados aponta.
Hive Metastore URI
O endereço de conexão do Hive Metastore. Trata-se do endereço IP público da instância ECS correspondente ao nó mestre do CDH. O formato é
thrift://<IP address of the master node>:<Port number>. O número da porta padrão é 9083.Host Configuration Information
Insira cada mapeamento de host para IP em uma nova linha.
Exemplo:
192.168.2.153 master.cdh
192.168.2.154 node1.cdh
192.168.2.155 node2.cdh
Após configurar os parâmetros, clique em Create.
Criar um job de migração de dados
No painel de navegação à esquerda, clique em Data Migration.
No canto superior direito, clique em Create Migration Job.
-
Na página Create Migration Job, configure os parâmetros nas seções Source and Destination Settings, Database/Table Migration Settings e Migration Settings.
Source and destination settings
Parâmetro
Descrição
Job Name
Nome do job de migração de dados. O sistema gera automaticamente um nome com base no tipo de fonte de dados e na hora atual. Edite esse nome conforme necessário.
Data Source
Selecione uma fonte de dados Hive existente ou crie uma nova.
Destination Type
Apenas Data Lake - OSS Storage é suportado.
OSS Path
O caminho de armazenamento no OSS para os dados do cluster AnalyticDB for MySQL Data Lakehouse Edition.
Importante-
Todos os buckets na mesma região do cluster AnalyticDB for MySQL são exibidos. Selecione qualquer um deles. Planeje o caminho de armazenamento com cautela, pois não é possível alterá-lo após a criação.
-
Recomenda-se selecionar um diretório vazio e garantir que seu caminho no OSS não tenha uma relação de prefixo com os caminhos no OSS de outros jobs. Isso evita que os dados sejam sobrescritos. Por exemplo, se os caminhos no OSS de dois jobs de migração de dados forem
oss://adb_demo/test/sls1/eoss://adb_demo/test/, os caminhos terão uma relação de prefixo, o que pode causar a sobrescrita de dados durante a migração.
Database/table migration settings
ImportanteSe o nome de um banco de dados ou tabela existir tanto na lista de permissões quanto na lista de bloqueios, a lista de bloqueios terá precedência e o service não migrará esse banco de dados ou tabela.
Parâmetro
Descrição
Database/Table Migration Whitelist
O job migra bancos de dados e tabelas que correspondem a uma expressão. Insira expressões regulares para nomes de bancos de dados e tabelas. Separe várias expressões com vírgulas (,).
Database/Table Migration Blacklist
O job não migra bancos de dados e tabelas que correspondem a uma expressão. Insira expressões regulares para nomes de bancos de dados e tabelas. Separe várias expressões com vírgulas (,).
Migration settings
Parâmetro
Descrição
Handling Same Named Destination Table
Define como lidar com uma tabela de destino que já existe:
-
Skip this table (do not migrate): Ignora apenas a tabela atual. A migração das demais tabelas continua.
-
Report error and pause migration: Pausa o job de migração. A migração da tabela com o mesmo nome e de todas as outras tabelas é interrompida.
Job Resource Group
Especifique o grupo de recursos de job no qual o job será executado.
Required ACUs
Especifique o número de ACUs para o grupo de recursos de job. O valor mínimo é 4. O valor máximo corresponde ao número de recursos de computação disponíveis no grupo de recursos de job. Aloque mais ACUs para melhorar o desempenho da migração e a estabilidade do job.
Parallel Tasks
O valor padrão é 1. O valor máximo é 8.
Ao aumentar esse valor, várias tarefas de migração são iniciadas simultaneamente, e cada tarefa migra uma tabela. No entanto, cada tarefa requer pelo menos 4 ACUs. Se o número de ACUs for insuficiente, as tarefas de migração serão executadas sequencialmente.
Advanced Settings
Permite especificar configurações personalizadas para o job. Para isso, entre em contato com o suporte técnico.
-
Após configurar os parâmetros, clique em Submit.
Iniciar o job de migração de dados
Na página Data Migration, localize o job de migração de dados criado e clique em Resume na coluna Actions.
Clique em Search no canto superior direito. Quando o status mudar para Starting, o job de migração de dados terá sido iniciado.
Análise de dados
Após a conclusão bem-sucedida da tarefa de migração, use o recurso metadata discovery para importar dados do OSS para a Data Lakehouse Edition e, em seguida, analise os dados importados para a Data Lakehouse Edition no Spark Jar. Para obter mais informações sobre o desenvolvimento com Spark, consulte Spark development editor e Spark offline application development.
-
No painel de navegação à esquerda, clique em .
-
No modelo padrão, insira as instruções de exemplo e clique em Run Now.
-- Here is just an example of SparkSQL. Modify the content and run your spark program. conf spark.driver.resourceSpec=medium; conf spark.executor.instances=2; conf spark.executor.resourceSpec=medium; conf spark.app.name=Spark SQL Test; conf spark.adb.connectors=oss; -- Here are your sql statements show tables from lakehouse20220413156_adbTest; Opcional: Na aba Applications, clique em Logs na coluna Actions para visualizar o log de execução do job Spark SQL.
Gerenciamento de jobs
Na página Data Migration, execute as seguintes operações na coluna Actions.
|
Ações |
Descrição |
|
Start |
Inicia o job de migração de dados. |
|
View Details |
Visualiza a configuração detalhada do job, o número de tabelas migradas e os detalhes da migração. |
|
Edit |
Modifica as propriedades de configuração do job. |
|
Pause |
Pausa o job de migração atual. |
|
Delete |
Exclui o job de migração atual. |