Data Science Workspace guia de solução de problemas

Este documento fornece respostas a perguntas frequentes sobre o Adobe Experience Platform Data Science Workspace. Em caso de dúvidas e solução de problemas relacionados às APIs Platform em geral, consulte o Guia de solução de problemas da API do Adobe Experience Platform.

JupyterLab o ambiente não está sendo carregado no Google Chrome

IMPORTANTE

Esse problema foi resolvido, mas ainda pode estar presente no navegador Google Chrome 80.x. Verifique se o navegador Chrome está atualizado.

Com a versão 80.x do navegador Google Chrome, todos os cookies de terceiros são bloqueados por padrão. Essa política pode impedir JupyterLab de carregar no Adobe Experience Platform.

Para solucionar esse problema, siga as etapas abaixo:

No navegador Chrome, navegue até o canto superior direito e selecione Configurações (como alternativa, você pode copiar e colar "chrome://settings/" na barra de endereços). Em seguida, role até a parte inferior da página e clique na lista suspensa Avançado.

chrome avançado

A seção Privacy and security é exibida. Em seguida, clique em Configurações do site seguido por Cookies e dados do site.

chrome avançado

chrome avançado

Por fim, alterne "Bloquear cookies de terceiros" para "DESLIGADO".

chrome avançado

OBSERVAÇÃO

Como alternativa, você pode desativar cookies de terceiros e adicionar [*.]ds.adobe.net para a lista de permissões.

Navegue até "chrome://flags/" na barra de endereços. Procure e desative o sinalizador chamado "Cookies SameSite por padrão" usando o menu suspenso à direita.

desativar sinalizador de samesite

Após a Etapa 2, você será solicitado a reiniciar o navegador. Depois de reiniciar, Jupyterlab deve estar acessível.

Por que não consigo acessar JupyterLab no Safari?

O Safari desativa cookies de terceiros por padrão no Safari < 12. Como a instância da máquina virtual Jupyter reside em um domínio diferente do quadro pai, o Adobe Experience Platform exige atualmente que os cookies de terceiros sejam ativados. Ative cookies de terceiros ou alterne para um navegador diferente, como Google Chrome.

Para o Safari 12, é necessário alternar o Agente de Usuário para 'Chrome' ou 'Firefox'. Para alternar o Agente de usuário, abra o menu Safari e selecione Preferências. A janela de preferências é exibida.

Preferências do Safari

Na janela Preferências do Safari, selecione Avançado. Em seguida, marque a caixa Mostrar menu Desenvolver na barra de menus. Você pode fechar a janela de preferências após a conclusão desta etapa.

Safari avançado

Em seguida, na barra de navegação superior, selecione o menu Desenvolver. Na lista suspensa Desenvolver, passe o mouse sobre Agente do usuário. Você pode selecionar a sequência Chrome ou Firefox do Agente do Usuário que deseja usar.

Menu Desenvolver

Por que estou vendo uma mensagem '403 Forbidden' ao tentar carregar ou excluir um arquivo em JupyterLab?

Se seu navegador estiver habilitado com software de bloqueio de anúncios, como Ghostery ou AdBlock Plus, o domínio "*.adobe.net" deverá ser permitido em cada software de bloqueio de anúncios para que JupyterLab funcione normalmente. Isso ocorre porque as máquinas virtuais JupyterLab são executadas em um domínio diferente do domínio Experience Platform.

Por que algumas partes do meu Jupyter Notebook parecem embaralhadas ou não são renderizadas como código?

Isso pode acontecer se a célula em questão for acidentalmente alterada de "Código" para "Markdown". Enquanto uma célula de código está focada, pressionar a combinação de teclas ESC+M altera o tipo da célula para Markdown. O tipo de célula pode ser alterado pelo indicador suspenso na parte superior do bloco de anotações para a(s) célula(s) selecionada(s). Para alterar um tipo de célula para código, comece selecionando a célula que deseja alterar. Em seguida, clique na lista suspensa que indica o tipo atual da célula e selecione "Código".

Como instalo bibliotecas Python personalizadas?

O kernel Python vem pré-instalado com muitas bibliotecas populares de aprendizado de máquina. No entanto, é possível instalar bibliotecas personalizadas adicionais executando o seguinte comando em uma célula de código:

!pip install {LIBRARY_NAME}

Para obter uma lista completa das bibliotecas Python pré-instaladas, consulte a seção Apêndice do Guia do Usuário do JupyterLab.

Posso instalar bibliotecas PySpark personalizadas?

Infelizmente, não é possível instalar bibliotecas adicionais para o kernel do PySpark. No entanto, você pode entrar em contato com o representante do serviço de atendimento ao cliente do Adobe para ter bibliotecas PySpark personalizadas instaladas para você.

Para obter uma lista de bibliotecas PySpark pré-instaladas, consulte a seção Apêndice do Guia do Usuário do JupyterLab.

É possível configurar Spark recursos de cluster para JupyterLab Spark ou kernel PySpark?

Você pode configurar recursos adicionando o seguinte bloco à primeira célula do seu bloco de anotações:

%%configure -f 
{
    "numExecutors": 10,
    "executorMemory": "8G",
    "executorCores":4,
    "driverMemory":"2G",
    "driverCores":2,
    "conf": {
        "spark.cores.max": "40"
    }
}

Para obter mais informações sobre a configuração de recursos do cluster Spark, incluindo a lista completa de propriedades configuráveis, consulte o Guia do Usuário do JupyterLab.

Por que estou recebendo um erro ao tentar executar determinadas tarefas para conjuntos de dados maiores?

Se você estiver recebendo um erro com um motivo como Reason: Remote RPC client disassociated. Likely due to containers exceeding thresholds, or network issues. Isso normalmente significa que o driver ou um executor está ficando sem memória. Consulte a documentação dos notebooks JupyterLab data access para obter mais informações sobre limites de dados e como executar tarefas em grandes conjuntos de dados. Normalmente, esse erro pode ser resolvido alterando mode de interactive para batch.

Além disso, ao gravar grandes conjuntos de dados do Spark/PySpark, o armazenamento de dados em cache (df.cache()) antes de executar o código de gravação pode melhorar muito o desempenho.

Se você estiver tendo problemas ao ler dados e estiver aplicando transformações aos dados, tente armazenar seus dados em cache antes das transformações. O armazenamento de dados em cache impede várias leituras na rede. Comece lendo os dados. Em seguida, armazene os dados em cache (df.cache()). Por fim, execute suas transformações.

Por que meus notebooks Spark/PySpark estão demorando tanto para ler e gravar dados?

Se você estiver executando transformações em dados, como usando fit(), as transformações podem estar sendo executadas várias vezes. Para aumentar o desempenho, armazene seus dados em cache usando df.cache() antes de executar o fit(). Isso garante que as transformações sejam executadas apenas uma única vez e impede várias leituras na rede.

Ordem recomendada: Comece lendo os dados. Em seguida, execute transformações seguidas pelo armazenamento em cache (df.cache()) dos dados. Por fim, execute um fit().

Por que meus notebooks Spark/PySpark estão falhando na execução?

Se você estiver recebendo um dos seguintes erros:

  • Trabalho anulado devido a falha de estágio … Só é possível compactar RDDs com o mesmo número de elementos em cada partição.
  • Cliente RPC remoto desassociado e outros erros de memória.
  • Mau desempenho ao ler e gravar conjuntos de dados.

Verifique se você está armazenando os dados em cache (df.cache()) antes de gravar os dados. Ao executar código em blocos de anotações, usar df.cache() antes de uma ação como fit() pode melhorar bastante o desempenho do notebook. Usar df.cache() antes de gravar um conjunto de dados garante que as transformações sejam executadas apenas uma única vez em vez de várias vezes.

Docker Hub restrições de limite no Data Science Workspace

A partir de 20 de novembro de 2020, os limites de taxa para o uso anônimo e gratuito autenticado do Docker Hub entraram em vigor. Usuários anônimos e livres Docker Hub são limitados a 100 solicitações de extração de imagem de contêiner a cada seis horas. Se você for afetado por essas alterações, receberá esta mensagem de erro: ERROR: toomanyrequests: Too Many Requests. ou You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits..

No momento, esse limite só afetará sua organização se você estiver tentando criar 100 notebooks para receitas dentro do período de seis horas ou se estiver usando notebooks baseados em Spark no Data Science Workspace que frequentemente estão aumentando e diminuindo. No entanto, isso é improvável, pois o cluster em execução permanece ativo por duas horas antes de ficar inativo. Isso reduz o número de pulsos necessários quando o cluster está ativo. Se você receber qualquer um dos erros acima, será necessário aguardar até que o limite Docker seja redefinido.

Para obter mais informações sobre Docker Hub limites de taxa, visite a documentação do DockerHub. Uma solução para isso está sendo trabalhada e é esperada em uma versão subsequente.

Nesta página