O recurso de coleta de acesso frio para tabelas ou partições do JindoTable registra o último horário de acesso de cada tabela ou partição. Isso ajuda a identificar dados não acessados recentemente, otimizar a estratégia de armazenamento e reduzir custos. Por exemplo, em análises de dados, é possível mover dados de partições pouco utilizadas para uma mídia de armazenamento mais econômica.
Pré-requisitos
Crie um cluster EMR versão 3.35.0 ou posterior, ou versão 4.9.0 ou posterior. Para mais informações, consulte Crie um cluster.
Informações básicas
O SmartData 3.5.x e versões posteriores oferecem suporte à coleta de acesso frio para os componentes Hive, Spark e Presto. Esse recurso vem desativado por padrão. Para ativá-lo, consulte
Ative a coleta de acesso frio para Spark
,
Ative a coleta de acesso frio para Hive
e
Ative a coleta de acesso frio para Presto
.
Como a coleta de acesso frio utiliza os mesmos hooks ou listeners da coleta de acesso quente, ativar a coleta de acesso frio também ativa a coleta de acesso quente. Para obter detalhes sobre a coleta de acesso quente para tabelas ou partições, consulte
Coleta de acesso quente para tabelas ou partições do JindoTable
.
Limitações
Não há suporte para metadados de data lake DLF.
Os endereços IP dos services Hive CLI, HiveServer2, Spark SQL CLI, Spark Thriftserver e Presto devem ter permissão para acessar o armazenamento de metadados subjacente (MySQL ou RDS).
A coleta de acesso frio tem suporte apenas para os componentes Hive, Spark e Presto.
Consultar dados
O JindoTable oferece um método de linha de comando para consultar informações de acesso frio.
-
Sintaxe
jindo table -leastUseStat -n <num> [-i/-ignoreNever]num é o número de entradas a exibir e deve ser um número inteiro positivo. -i/-ignoreNever é opcional. Se especificado, exclui dos resultados as tabelas ou partições nunca acessadas.
-
Função
Exibe as tabelas ou partições com maior tempo sem acesso.
-
Exemplo: Consulte as 20 tabelas ou partições acessadas menos recentemente.
jindo table -leastUseStat -n 20A saída inclui três colunas, conforme o exemplo a seguir.
tdb.t1 pid=20/qid=ten 2021-03-26 13:53:52 tdb.t2 2021-03-26 13:53:58A primeira coluna mostra o nome da tabela no formato database_name.table_name.
A segunda coluna exibe o nome da partição no formato partition_key_column1=value1/partition_key_column2=value2/.... Este campo fica vazio para tabelas não particionadas.
A terceira coluna apresenta o horário de acesso mais recente no formato yyyy-MM-dd HH:mm:ss.
NotaPara tabelas particionadas, apenas as partições são exibidas. A tabela em si não é listada separadamente.
Para mais informações sobre como usar o JindoTable, consulte Instruções de uso do JindoTable.
Ativar a coleta de acesso frio para o Spark
-
Acesse a página do Spark.
Faça login no console do Alibaba Cloud E-MapReduce.
Na barra de menus superior, selecione uma região e um grupo de recursos conforme necessário.
Clique na aba Clusters.
Na página Clusters, clique em Details na linha do cluster desejado.
No painel de navegação à esquerda, escolha Services > Spark.
Na página do service Spark, clique na aba Configure.
Pesquise o parâmetro spark.sql.queryExecutionListeners. Certifique-se de que seu valor inclua com.aliyun.emr.table.spark.SparkSQLQueryListener. Separe múltiplos listeners com vírgulas (,).
-
Adicione uma configuração personalizada.
Na página Service Configuration, clique na aba spark-defaults.
Clique em Custom Configuration no canto superior direito.
Na caixa de diálogo Add Configuration Item, defina Key como spark.sql.query.update.access.time.enabled e Value como true.
Clique em OK.
-
Salve a configuração.
Clique em Save.
Na caixa de diálogo Confirm, insira um Execution Reason e clique em OK.
-
Reinicie todos os componentes.
No canto superior direito, escolha .
Na caixa de diálogo Execute Cluster Operation, insira um Execution Reason e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
Ativar a coleta de acesso frio para o Hive
-
Acesse a página do Hive.
Faça login no console do Alibaba Cloud E-MapReduce.
Na barra de menus superior, selecione uma região e um grupo de recursos conforme necessário.
Clique na aba Clusters.
Na página Clusters, clique em Details na linha do cluster desejado.
No painel de navegação à esquerda, escolha Services > Hive.
Na página do service Hive, clique na aba Configure.
Pesquise o parâmetro hive.exec.post.hooks. Certifique-se de que seu valor inclua com.aliyun.emr.table.hive.HivePostHook. Separe múltiplos hooks com vírgulas (,).
-
Adicione uma configuração personalizada.
Na página Service Configuration, clique na aba hive-site.
Clique em Custom Configuration no canto superior direito.
Na caixa de diálogo Add Configuration Item, defina Key como hive.hook.update.access.time.enabled e Value como true.
Clique em OK.
-
Salve a configuração.
Clique em Save.
Na caixa de diálogo Confirm, insira um Execution Reason e clique em OK.
-
Reinicie todos os componentes.
No canto superior direito, escolha .
Na caixa de diálogo Execute Cluster Operation, insira um Execution Reason e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
Ativar a coleta de acesso frio para o Presto
-
Acesse a página do Presto.
Faça login no console do Alibaba Cloud E-MapReduce.
Na barra de menus superior, selecione uma região e um grupo de recursos conforme necessário.
Clique na aba Clusters.
Na página Clusters, clique em Details na linha do cluster desejado.
No painel de navegação à esquerda, escolha Services > Presto.
Na página do service Presto, clique na aba Configure.
Pesquise o parâmetro event-listener.name. Certifique-se de que seu valor inclua jindo-presto-post-event-listener.
-
Adicione uma configuração personalizada.
Na página Service Configuration, clique na aba event-listener.properties.
Clique em Custom Configuration no canto superior direito.
Na caixa de diálogo Add Configuration Item, defina Key como listener.update.access.time.enabled e Value como true.
Clique em OK.
-
Salve a configuração.
Clique em Save.
Na caixa de diálogo Confirm, insira um Execution Reason e clique em OK.
-
Reinicie todos os componentes.
No canto superior direito, escolha .
Na caixa de diálogo Execute Cluster Operation, insira um Execution Reason e clique em OK.
Na caixa de diálogo Confirm, clique em OK.