faísca a saída de volta para a página da web

5

Estamos executando trabalhos cujos parâmetros vêm de uma página da web e são executados em arquivos grandes em um cluster de centelhamento. Após o processamento, queremos exibir os dados de volta, gravados em arquivos de texto usando

rdd.saveAsTextFile(path)  

Temos um id de sessão que é uma raiz comum para as pastas de saída. O que significa que é uma pasta aleatória, mas ligada ao ID da sessão do usuário.

O que é uma boa maneira de acompanhar, ponteiros para os diferentes arquivos, enviar páginas de volta ao front end?

Significado para que possamos ter uma lista de arquivos e enviar os resultados de volta para uma página de monitoramento (resumo) e detalhes mostrando o conteúdo dos arquivos.

    
por tgkprog 14.11.2016 / 16:19
fonte

1 resposta

1

Sem entrar em otimização prematura, considere os seguintes princípios de design:

  1. Convenção. Parece que você já fez a escolha de ter nomes de caminho previsíveis no HDFS (com base em um ID de sessão do usuário). Você pode estender isso para ter caminhos previsíveis para cada trabalho. Se as tarefas forem iniciadas por um aplicativo da Web, esse aplicativo da web poderá gerar qualquer nome ou ID associado à tarefa e criar o caminho HDFS para a saída da tarefa Spark de maneira consistente e previsível.
  2. Autoridade. Todo elemento de dados deve ter exatamente uma residência autoritativa, não importa quantas cópias de seus valores estejam espalhadas pela arquitetura. No seu exemplo, parece adequado que o aplicativo da Web seja autoritativo em IDs de sessão e IDs de tarefas do usuário e que o HDFS seja autoritário em quais arquivos estão presentes em um diretório e em quais são seus conteúdos. Portanto, seu aplicativo da web deve manter IDs de tarefa associadas a uma sessão de usuário em algum lugar e consultar o HDFS (seguindo a convenção de caminho previsível) para obter uma lista de arquivos de saída e seus conteúdos.
por 03.11.2018 / 14:56
fonte