Ho migliaia di file compressi di dimensione 2 GB seduti in HDFS. Sto usando la scintilla per elaborare questi file. Sto usando il metodo Spark textFile() per caricare i file da HDFS. La mia domanda è come posso ripartizionare i dati in modo che io possa elaborare ogni file in parallelo. Attualmente ogni file .gz viene elaborato in una singola attività. Quindi, se elaboro 1000 file, vengono eseguite solo 1000 attività. Capisco, che i file compressi non sono divisibili. Ma c'è qualche altro approccio che potrei usare per eseguire il mio lavoro più velocemente?Come ripartizionare un file compresso in Apache Spark?
5
A
risposta
3
È possibile utilizzare rdd.repartition(#partitions)
dopo aver caricato il file. Questo ha un costo shuffle associato, quindi è necessario valutare se il guadagno di prestazioni nelle coperture di parallelizzazione per questo costo di shuffle iniziale.
Un altro modo sarebbe quello di eseguire qualsiasi trasformazione (mappa, filtro, ...) sulla partizione iniziale e utilizzare qualsiasi fase di shuffle già presente nella pipeline per ripartizionare l'RDD. per esempio.
rdd.map().filter().flatMap().sortBy(f, numPartitions=new#ofpartitions)
Problemi correlati
- 1. tee in un file compresso
- 2. Come eseguire Apache Spark Source in C#
- 3. Apache Spark vs Apache Ignite
- 4. Ingresso compresso BZip2 per Apache Flink
- 5. Apache Spark Formato file modello MLlib
- 6. Apache Spark vs. Apache Storm
- 7. Utilizzando R in Apache Spark
- 8. Come utilizzare awk per un file compresso
- 9. Apache Spark java.lang.ClassNotFoundException
- 10. Apache Drill vs Spark
- 11. Scrivere RDD come file di testo utilizzando Apache Spark
- 12. Passare argomenti a Apache Spark
- 13. Apache Spark: come creare una matrice da un DataFrame?
- 14. Output Dstream di Apache Spark in Python
- 15. Salva Apache Spark modello mllib in pitone
- 16. Come installare Apache Zeppelin sul cluster autonomo Apache Spark
- 17. Come verificare se un file è compresso in R
- 18. Come proteggere con password un file zip compresso in Java?
- 19. Colonne concatenate in apache spark dataframe
- 20. Apache Phoenix vs Hive-Spark
- 21. Uso di reduceByKey in Apache Spark (Scala)
- 22. Apache Spark: Come posso convertire uno Spark DataFrame in un RDD con tipo RDD [(Tipo1, Tipo2, ...)]?
- 23. Utilizzo di Apache Spark come back-end per applicazioni Web
- 24. Apache Spark Stderr e Stdout
- 25. Lambda Architecture con Apache Spark
- 26. Apache Spark: distinto non funziona?
- 27. Apache filtro Spark RDD in due RDDs
- 28. Apache Spark on EC2 "Killed"
- 29. uguaglianza della classe caso in Apache Spark
- 30. Chiavi primarie con Apache Spark
questo è ciò che sto facendo attualmente, ma quando si caricano i dati non parallelizza. Per un file esegue solo un'attività durante il caricamento. Mi stavo chiedendo se possiamo parallelizzare durante il caricamento dei dati. – None
@hadooped non che io sappia. Spero che qualcuno lo sappia meglio. – maasg