Mam tysiące skompresowanych plików o rozmiarze 2 GB w HDFS. Używam iskry do przetwarzania tych plików. Używam metody Spark textFile() do załadowania plików z HDFS. Moje pytanie brzmi: jak mogę podzielić dane na partycje, aby móc przetwarzać każdy plik równolegle. Obecnie każdy plik .gz jest przetwarzany w jednym zadaniu. Jeśli więc przetworzę 1000 plików, wykonywanych jest tylko 1000 zadań. Rozumiem, że skompresowane pliki nie mogą zostać podzielone. Ale czy jest jakaś inna metoda, dzięki której mogę szybciej wykonywać swoją pracę?Jak podzielić na partycje skompresowany plik w Apache Spark?
5
A
Odpowiedz
3
Możesz użyć rdd.repartition(#partitions)
po załadowaniu pliku. To wiąże się z kosztem shuffle, więc musisz ocenić, czy wzrost wydajności w równoległości obejmuje ten początkowy koszt losowy.
Innym sposobem byłoby wykonanie dowolnych transformacji (mapa, filtr, ...) na początkowej partycji i użycie dowolnego etapu shuffle już istniejącego w potoku do ponownego podziału na RDD. na przykład
rdd.map().filter().flatMap().sortBy(f, numPartitions=new#ofpartitions)
Powiązane problemy
- 1. Jak równomiernie rozdzielić partycje w Spark?
- 2. Jak podzielić istniejący plik dziennika Apache na miesiąc?
- 3. Jak podzielić na partycje listę według predicate za pomocą java8?
- 4. W jaki sposób Spark decyduje, jak podzielić partycję RDD?
- 5. Spark: zapisz DataFrame podzieloną na partycje przez "wirtualną" kolumnę
- 6. Korzystanie R w Apache Spark
- 7. Apache Spark vs Apache Spark 2
- 8. Apache Spark na EC2 "Zabity"
- 9. Jak sprawdzić, czy plik jest skompresowany gzip?
- 10. Czytanie ładnych plików json w Apache Spark
- 11. Apache Spark vs Apache Ignite
- 12. Apache Spark vs. Apache Storm
- 13. opuszczając puste przegródki DataFrame Apache Spark
- 14. Mnożenie macierzy w Apache Spark
- 15. Apache Spark ALS Rekomendacja
- 16. Uboczny Argumenty Apache Spark
- 17. Jak podzielić plik na numer wiersza
- 18. Jak podzielić plik mp3 na mniejsze pliki?
- 19. Elasticsearch + wydajność Apache Spark
- 20. Jak obliczyć odwrotność RowMatrix w Apache Spark?
- 21. Równość DataFrame w Apache Spark
- 22. Apache Drill kontra Spark
- 23. Rozwój Androida: plik prawdopodobnie jest skompresowany
- 24. Czytaj wielowierszowy JSON w Apache Spark
- 25. Apache Spark odczytuje plik jako strumień z HDFS
- 26. Apache Spark GraphX podłączone komponenty
- 27. Konfiguracja portów sieciowych Apache Spark
- 28. Spark Tachyon: Jak usunąć plik?
- 29. Jak mogę podzielić plik w pythonie?
- 30. Zalecenia Apache Spark ALS podejście
to właśnie robię obecnie, ale przy ładowaniu danych nie jest to równoznaczne. Dla jednego pliku wykonuje tylko jedno zadanie podczas ładowania. Zastanawiam się, czy możemy zrównoleglić podczas ładowania danych. – None
@hadooped nie, że znam. Mam nadzieję, że ktoś wie lepiej. – maasg