Używanie tylko odwzorowania (skryptu Python) i bez reduktora, w jaki sposób można wyprowadzić osobny plik z kluczem jako nazwą pliku, dla każdego wiersza wyjścia, zamiast długich plików wyjściowych ?Generowanie osobnych plików wyjściowych w strumieniu Hadoop
Odpowiedz
Możesz napisać do pliku tekstowego w lokalnym systemie plików przy użyciu funkcji Pythona lub jeśli chcesz używać HDFS użyj Thrift API.
Czy jest możliwe zastąpienie klasy outputFormatClass podczas korzystania z przesyłania strumieniowego? W macierzystej implementacji języka Java można rozszerzyć klasę MultipleTextOutputFormat i zmodyfikować metodę, która nadaje nazwę pliku wyjściowego. Następnie określ swoją implementację jako nowy format wyjściowy za pomocą metody setOutputFormat JobConf, którą powinieneś zweryfikować, jeśli jest to możliwe również podczas przesyłania strumieniowego. I donno: -/
Klasy danych wejściowych i wyjściowych można zastąpić za pomocą parametrów -inputformat i -outputformat.
Przykład tego, jak to zrobić, można znaleźć w dumbo project, która jest strukturą Pythona do pisania zadań strumieniowych. Posiada funkcję zapisywania do wielu plików i wewnętrznie zastępuje format wyjściowy klasą ze swojego siostrzanego projektu, feathers - fm.last.feathers.output.MultipleTextFiles.
Reduktor musi wydać krotkę jako klucz, a pierwszy składnik krotki jest ścieżką do katalogu, w którym powinny być zapisane pliki z parami klucz/wartość. Wciąż może być wiele plików, które zależą od liczby reduktorów i aplikacji.
Polecam zajrzeć do dumbo, ma wiele funkcji, które ułatwiają pisanie Map/Zmniejszenie programów na Hadoop w python.
- 1. Hadoop - uzyskać wyniki z plików wyjściowych po zmniejszeniu?
- 2. Hadoop w zmianie nazwy plików
- 3. używanie nazwy testowanej w nazwach plików wyjściowych
- 4. Hadoop MapReduce plików Multiple Input
- 5. Generowanie plików XSD w Javie
- 6. Generowanie plików BPEL programowo?
- 7. Przeglądarka rozwiązań maszynopisu i plików javascript wyjściowych
- 8. Uzyskiwanie plików wyjściowych z projektu MSBuild
- 9. Kompilowanie wcześniej przetworzonych zmian plików wyjściowych
- 10. Podział ramek danych na wiele plików wyjściowych
- 11. Nodejs z Sequelizejs przy użyciu osobnych plików na model
- 12. Generowanie nazw dla bloków wyjściowych dla funkcji Azure
- 13. Jak przyspieszyć generowanie plików Word z C#?
- 14. Czytanie plików sekwencji Hadoop z ulem
- 15. Generowanie metadanych dla plików parkietu
- 16. Najszybsze generowanie plików PDF w PHP?
- 17. Dlaczego Jade nie formatuje poprawnie swoich plików wyjściowych w Express.js
- 18. Zastosuj wzór w strumieniu pliku
- 19. Jak pominąć bajty w strumieniu
- 20. Filtrowanie elementów pustych w strumieniu
- 21. FFmpeg: NetStream.Play.StreamNotFound w strumieniu RMTP
- 22. Wykonywanie wyrażeń regularnych w strumieniu
- 23. Używanie Sparka do wyświetlania wszystkich plików w katalogu HDFS Hadoop?
- 24. "Mapowanie danych wyjściowych zmaterializowanych bajtów" w porównaniu do "bajtów wyjściowych map"
- 25. Umieszczanie linii końcowej w strumieniu łańcuchowym
- 26. Zagnieżdżanie urządzeń wyjściowych w R?
- 27. Dane transmisyjne i Hadoop? (nie Hadoop Streaming)
- 28. Jak wymienić w strumieniu za pomocą Gulp?
- 29. Generowanie plików PDF za pomocą PHP
- 30. Generowanie plików .webtest bez użycia Visual Studio
W jaki sposób wielu maperów zapisuje dane w tym samym pliku w tym samym czasie, gdy piszemy do lokalnego systemu plików lub do pliku hdfs? –
To jest złe. Koliduje to z ponawianiem zadań i gwarantuje potrzebę opiekowania się twoimi zadaniami. – nkadwa