risveglia l'output alla pagina web

5

Stiamo eseguendo lavori i cui parametri provengono da una pagina Web e vengono eseguiti su file di grandi dimensioni in uno spark cluster. Dopo l'elaborazione, vogliamo visualizzare i dati indietro, scritti su file di testo usando

rdd.saveAsTextFile(path)  

Abbiamo un ID di sessione che è una radice comune per le cartelle di output. Significa che è una cartella casuale ma collegata all'ID della sessione utente.

Quale è un buon modo per tenere traccia di, i puntatori ai diversi file, rimandare le pagine al front-end?

Significa che possiamo avere una lista di file e inviare i risultati a una pagina di monitoraggio (riassunto) e di dettaglio che mostra il contenuto dei file.

    
posta tgkprog 14.11.2016 - 16:19
fonte

1 risposta

1

Senza entrare nell'ottimizzazione prematura, prendi in considerazione i seguenti principi di progettazione:

  1. Convention. Sembra che tu abbia già fatto la scelta di avere nomi di percorso prevedibili in HDFS (basato su un ID sessione utente). È possibile estendere questo per avere percorsi prevedibili per ogni lavoro. Se i lavori vengono avviati da un'applicazione Web, tale app Web può generare qualsiasi nome o ID associato al lavoro e creare il percorso HDFS per l'output del lavoro Spark in modo coerente e prevedibile.
  2. Autorità. Ogni elemento di dati dovrebbe avere esattamente una casa autorevole, indipendentemente da quante copie dei suoi valori sono sparse per l'architettura. Nel tuo esempio, sembra corretto che l'app Web sia autorevole su ID sessione utente e ID processo e che HDFS sia autorevole su quali file sono presenti in una directory e quali sono i loro contenuti. Pertanto, l'app Web deve mantenere gli ID di lavoro associati a una sessione utente da qualche parte e interrogare HDFS (seguendo la convenzione del percorso prevedibile) per ottenere un elenco di file di output e il loro contenuto.
risposta data 03.11.2018 - 14:56
fonte

Leggi altre domande sui tag