Por padrão, os clusters do E-MapReduce possuem o EMR-HOOK integrado ao Hive service. O EMR-HOOK coleta informações de SQL de jobs, como linhagem de dados e frequência de acesso. Você pode usar o EMR-HOOK com o Data Lake Formation (DLF) para rastrear estatísticas de acesso a tabelas e partições. Além disso, gerencie a linhagem de dados com o DataWorks. Este tópico explica como configurar o EMR-HOOK para o Hive service.
Pré-requisitos
Crie um cluster DataLake ou um cluster personalizado e selecione o Hive service. Para mais informações, consulte Create a cluster.
Limitações
O EMR-HOOK não oferece suporte à coleta de informações de SQL de jobs em um ambiente de gateway implantado de forma personalizada com o EMR-CLI.
Nas versões do EMR anteriores a 5.16.0 e 3.50.0, as configurações dos parâmetros hive.exec.post.hooks (para Hive) e spark.sql.queryExecutionListeners (para Spark) não são sincronizadas com os nós de gateway. Nas versões 5.16.0 ou posteriores e 3.50.0 ou posteriores, essas configurações são sincronizadas com os nós de gateway. Essas versões também introduzem o parâmetro hive_aux_jars_path_gateway_only, que permite o uso independente de arquivos JAR de extensão personalizados nos nós de gateway.
Notas de uso
-
O EMR-HOOK vem ativado por padrão nas versões do EMR anteriores a 5.14.0 e 3.48.0.
Para clusters personalizados do EMR 3.44 em que o EMR-HOOK não vem ativado por padrão, ative manualmente. Para mais informações, consulte a seção FAQ.
O EMR-HOOK vem desativado por padrão nas versões 5.14.0 ou posteriores e 3.48.0 ou posteriores do EMR. Ative-o manualmente.
Procedimento
-
Acesse a página Cluster services.
Faça login no console do E-MapReduce.
Na barra de navegação superior, selecione uma região e um grupo de recursos.
Na página EMR on ECS, encontre o seu cluster e clique em Services na coluna Actions.
-
Configure o EMR-HOOK.
Na página Services, na seção Hive service, clique em Configure.
-
Na página Configure, adicione ou modifique os seguintes parâmetros.
Guia
Parâmetro
Descrição
hive-site.xml
hive.exec.post.hooks
Especifica o hook que escuta as instruções SQL do Hive service. Este hook coleta informações para linhagem de dados e frequência de acesso.
-
Ative o EMR-HOOK e defina este parâmetro como
com.aliyun.emr.meta.hive.hook.LineageLoggerHook. -
Para desativar o EMR-HOOK, deixe este parâmetro vazio.
dlf.emrhook.webtracking
Especifica se deve ativar o relatório de frequência de acesso. Valores válidos:
-
true: Ativado.
-
false: Desativado.
hivemetastore-site.xml
hive.metastore.event.listeners
Especifica o listener para eventos relacionados a alterações de metadados do Hive. Este listener coleta informações para linhagem de dados.
-
Ative o EMR-HOOK e defina este parâmetro como
com.aliyun.emr.meta.hive.listener.MetaStoreListener. -
Para desativar o EMR-HOOK, deixe este parâmetro vazio.
hive.metastore.pre.event.listeners
Especifica o listener para eventos que ocorrem antes das alterações de metadados do Hive. Este listener coleta informações para linhagem de dados.
-
Ative o EMR-HOOK e defina este parâmetro como
com.aliyun.emr.meta.hive.listener.MetaStorePreAuditListener. -
Para desativar o EMR-HOOK, deixe este parâmetro vazio.
NotaSe você desativar o EMR-HOOK, a página Data Overview das tabelas no console do Data Lake Formation (DLF) não exibirá mais os dados de Access Count (Today), Access Count (Last 7 Days) e Access Count (Last 30 Days).
-
-
Salve a configuração.
Na página Configure, clique em Save.
Na caixa de diálogo exibida, insira um Execution Reason e clique em Save.
-
Reinicie o Hive.
Na página Configure, escolha More > Restart.
Na caixa de diálogo exibida, insira um Execution Reason e clique em OK.
Na caixa de diálogo confirme, clique em OK.
-
Visualize o panorama de dados e a linhagem de dados.
Visualize o Data Overview no Data Lake Formation (DLF). Para mais informações, consulte Data overview of data tables.
Visualize a linhagem de dados no DataWorks. Para mais informações, consulte Data lineage analysis.
FAQ
Tópicos relacionados
Para saber como configurar o EMR-HOOK para o Spark service, consulte SparkSQL: Use an extension to record data lineage and access history.