Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
- O cache de IO foi suportado até o Spark 2.3 e não será suportado no Spark 2.4 (HDInsight 4.0) e no Spark 3.1.2 (HDInsight 5.0)
IO Cache é um serviço de cache de dados para Azure HDInsight que melhora o desempenho dos jobs do Apache Spark. O IO Cache também funciona com cargas de trabalho Apache TEZ e Apache Hive , que podem ser executadas em clusters Apache Spark . O IO Cache utiliza um componente de cache de código aberto chamado RubiX. O RubiX é um cache de disco local para uso com motores de análise de big data que acessam dados de sistemas de armazenamento em nuvem. O RubiX é único entre os sistemas de cache, pois utiliza Solid-State Drives (SSDs) em vez de reservar memória operacional para fins de cache. O serviço de Cache de E/S é iniciado e gerencia Servidores de Metadados do RubiX nó de trabalho do cluster. Também configura todos os serviços do cluster para uso transparente do cache RubiX.
A maioria dos SSDs fornece mais de 1 GByte por segundo de largura de banda. Essa largura de banda, complementada pelo cache de arquivos em memória do sistema operacional, fornece largura de banda suficiente para carregar motores de processamento de processamento de big data, como o Apache Spark. A memória de operação fica disponível para o Apache Spark processar tarefas que dependem muito de memória, como shuffles. Ter uso exclusivo da memória operacional permite que o Apache Spark alcance o uso ideal dos recursos.
Note
O IO Cache atualmente usa o RubiX como componente de cache, mas isso pode mudar em versões futuras do serviço. Por favor, use as interfaces do IO Cache e não crie dependências diretamente na implementação do RubiX. O IO Cache é suportado apenas com o Azure BLOB Storage no momento.
Benefícios do Azure HDInsight IO Cache
O uso do IO Cache proporciona um aumento de desempenho para trabalhos que leem dados do Armazenamento de Blobs do Azure.
Você não precisa fazer nenhuma alteração nos seus jobs do Spark para ver aumentos de desempenho ao usar o IO Cache. Quando o IO Cache é desativado, esse código do Spark leria dados remotamente do Armazenamento de Blobs do Azure: spark.read.load('wasbs:///myfolder/data.parquet').count(). Quando o IO Cache é ativado, a mesma linha de código causa uma leitura em cache através do IO Cache. Nas leituras seguintes, os dados são lidos localmente a partir do SSD. Os nós de trabalho em um cluster do HDInsight são equipados com unidades SSD dedicadas anexadas localmente. O HDInsight IO Cache utiliza esses SSDs locais para cache, o que proporciona o menor nível de latência e maximiza a largura de banda.
Como começar
O cache Azure HDInsight IO é desativado por padrão na prévia. O IO Cache está disponível em clusters Azure HDInsight 3.6+ Spark, que rodam o Apache Spark 2.3. Para ativar o IO Cache no HDInsight 4.0, siga os seguintes passos:
Em um navegador da Web, navegue até
https://CLUSTERNAME.azurehdinsight.net, ondeCLUSTERNAMEestá o nome do cluster.Selecione o serviço de cache de IO à esquerda.
Selecione ações (ações de serviço no HDI 3.6) e ative.
Confirme a reinicialização de todos os serviços afetados no cluster.
Note
Mesmo que a barra de progresso mostre ativado, o IO Cache só está ativado até você reiniciar os outros serviços afetados.
Solução de problemas
Você pode ter erros de espaço em disco ao rodar trabalhos do Spark após ativar o IO Cache. Esses erros ocorrem porque o Spark também utiliza armazenamento local em disco para armazenar dados durante operações de shuffle. O Spark pode ficar sem espaço para SSD assim que o IO Cache for ativado e o espaço para armazenamento do Spark for reduzido. A quantidade de espaço usada pelo IO Cache corresponde por padrão a metade do espaço total do SSD. O uso de espaço em disco para o IO Cache é configurável em Ambari. Se você tiver erros de espaço de disco, reduza a quantidade de espaço do SSD usado para o cache de IO e reinicie o serviço. Para alterar o espaço definido para o IO Cache, faça os seguintes passos:
No Apache Ambari, selecione o serviço HDFS à esquerda.
Selecione as abas Configurações e Avançado.
Desça e expanda a área do site principal personalizado .
Localize a propriedade hadoop.cache.data.fullness.percentage.
Altere o valor na caixa de texto.
Selecione Salvar no canto superior direito.
Selecione Reiniciar>Reiniciar Todos os afetados.
Selecione Confirmar Reiniciar tudo.
Se isso não funcionar, desative o IO Cache.