O EMR-HOOK é integrado ao Spark 2 e ao Spark 3 em clusters E-MapReduce (EMR). Esse componente captura informações de execução de SQL — incluindo linhagem de dados e frequência de acesso a tabelas — e as envia ao Data Lake Formation (DLF) e ao DataWorks. Assim, você rastreia o fluxo de dados entre tabelas e a frequência de acesso a cada tabela ou partição sem modificar os jobs do Spark.
Pré-requisitos
Antes de começar, verifique se você tem:
Um cluster DataLake ou personalizado com o serviço Spark selecionado. Para mais informações, consulte Crie um cluster.
Limitações
O EMR-HOOK não coleta informações de SQL de jobs executados em um gateway implantado com EMR-CLI.
Nas versões anteriores ao EMR V5.16.0 ou EMR V3.50.0, as configurações
hive.exec.post.hooks(Hive) espark.sql.queryExecutionListeners(Spark) não são sincronizadas com o gateway. O EMR V5.16.0, o EMR V3.50.0 e as versões posteriores oferecem suporte à sincronização com o gateway e introduzem o parâmetrohive_aux_jars_path_gateway_only, que permite carregar um JAR de extensão personalizado exclusivamente no gateway.
Observações de uso
O estado padrão do EMR-HOOK varia conforme a versão do cluster. Consulte a tabela a seguir antes de prosseguir.
|
Versão do cluster |
Estado padrão |
Ação necessária |
|
Anterior ao EMR V5.14.0 ou EMR V3.48.0 |
Ativado |
Nenhuma ação necessária; configure apenas se desejar alterar o comportamento |
|
EMR V5.14.0, EMR V3.48.0 ou posterior |
Desativado |
Ative manualmente conforme descrito no procedimento abaixo |
|
EMR V3.44 (cluster personalizado) |
Pode estar desativado |
Consulte as Perguntas frequentes para obter as etapas de ativação manual |
Ativar o EMR-HOOK para Spark
Etapa 1: Acesse a aba Services
Faça login no console do EMR. No painel de navegação à esquerda, clique em EMR on ECS.
Na barra de navegação superior, selecione uma região e um grupo de recursos.
Localize seu cluster e clique em Services na coluna Actions.
Etapa 2: Configure o EMR-HOOK
Na aba Services, localize o serviço Spark 2 ou Spark 3 e clique em Configure.
-
Na aba Configure, defina os seguintes parâmetros nas respectivas subabas.
Subaba
Parâmetro
Valor
spark-defaults.confspark.sql.queryExecutionListenersPara ativar:
com.aliyun.emr.meta.spark.listener.EMRQueryLoggerPara desativar: deixe em branco. Se esse campo ficar vazio, o EMR-HOOK para de funcionar completamente e a aba Data Overview das tabelas no console DLF deixa de exibir File Visits within Last Day, File Visits within Last Seven Days ou File Visits within Last 30 Days.
hive-site.xmldlf.emrhook.webtrackingtruepara ativar o relatório de frequência de acesso;falsepara desativar. Clique em Save. Na caixa de diálogo, defina Execution Reason e clique em Save.
Etapa 3: Reiniciar o Spark
No canto superior direito da aba Configuration, escolha More > Restart.
Na caixa de diálogo, defina Execution Reason e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
Visualize resultados
Após reiniciar o Spark, o EMR-HOOK começa a coletar dados. Visualize os resultados nos seguintes locais:
Console DLF: frequência de acesso a tabelas e visão geral dos dados. Consulte Visão geral dos dados de tabelas.
Console DataWorks: linhagem de dados. Consulte Visualizar linhagens.
Perguntas frequentes
Como ativo o EMR-HOOK em um cluster personalizado que executa o EMR V3.44?
Na aba Configure do serviço Spark, adicione o seguinte caminho de JAR aos dois parâmetros de class path e aplique as alterações conforme solicitado.
|
Subaba |
Parâmetro |
Modificação |
|
|
|
Acrescente |
|
|
|
Acrescente |
Próximos passos
Para configurar o EMR-HOOK para Hive, consulte Usar o recurso de extensão do Hive para registrar linhagem de dados e informações históricas de acesso.