Jak mogę odczytać plik jako strumień z hdfs używając Apache Spark Java? Nie chcę czytać całego pliku, chcę mieć strumień plików, aby zatrzymać czytanie pliku, gdy spełniony jest jakiś warunek, jak mogę to zrobić za pomocą Apache Spark?Apache Spark odczytuje plik jako strumień z HDFS
Odpowiedz
Można użyć pliku strumieniowego HDFS stosując metodę SSC
val SSC = new StreamingContext (sparkConf, Sekundy (batchTime))
val dStream = ssc.fileStream [LongWritable, Tekst, TextInputFormat] ( streamDirectory , (x: ścieżka) => prawda newFilesOnly = fałsz)
Stosując wyżej API filtra param funkcji filtrowania do ścieżki przetwarzania.
Jeśli twój warunek nie ma ścieżki/nazwy pliku i zależy od danych, musisz zatrzymać kontekst przesyłania strumieniowego, jeśli spełniony jest warunek.
W tym celu należy użyć implementacji wątku, 1) W jednym wątku należy sprawdzić, czy kontekst przesyłania strumieniowego jest zatrzymany, a jeśli ssc został zatrzymany, powiadomić inny wątek, aby poczekał i utworzyć nowy kontekst przesyłania strumieniowego.
2) W drugim wątku należy sprawdzić pod kątem warunku, a jeśli warunek spełni, przerwać kontekst przesyłania strumieniowego.
Proszę dać mi znać, jeśli potrzebujesz wyjaśnienia.
Problem, który mam, np. Dwa tysiące plików i chcę odczytać tylko N wierszy (od kilku do miliardów). Twoje rozwiązanie będzie kosztowne. – Maksym
- 1. Dlaczego Apache Spark odczytuje niepotrzebne kolumny parkietu w strukturach zagnieżdżonych?
- 2. Strumień wyjściowy Apache Spark w Pythonie
- 3. W jaki sposób Apache Spark wie o węzłach danych HDFS?
- 4. Jak podzielić na partycje skompresowany plik w Apache Spark?
- 5. Apache Spark vs Apache Spark 2
- 6. Apache Spark vs. Apache Storm
- 7. Strumień wejściowy. Odczytuje zwrot 0 lub -1?
- 8. Apache Spark vs Apache Ignite
- 9. Javascript odczytuje "%%" jako "%" i "%%"?
- 10. WebClient.UploadFile przekazuje plik do przesłania jako strumień
- 11. express.js: jak pobrać strumień jako plik?
- 12. Jak napisać strumień RTP/H264 jako plik
- 13. Strumień Akka Stream vs Spark
- 14. Reading JSON z Apache Spark - `corrupt_record`
- 15. Apache Spark ALS Rekomendacja
- 16. Android odczytuje plik źródłowy surowca
- 17. Elasticsearch + wydajność Apache Spark
- 18. Apache Drill kontra Spark
- 19. Uboczny Argumenty Apache Spark
- 20. Strumień pamięci jako DB
- 21. Okresowa transmisja w Apache Spark Streaming
- 22. Websphere MQ jako źródło danych dla Apache Spark Streaming
- 23. Apache Spark Dołącza do przykładu z Javą
- 24. Usuń tabel tymczasowych z Apache SQL Spark
- 25. Apache Spark GraphX podłączone komponenty
- 26. Równość DataFrame w Apache Spark
- 27. Konfiguracja portów sieciowych Apache Spark
- 28. Korzystanie R w Apache Spark
- 29. Zalecenia Apache Spark ALS podejście
- 30. Czytaj wielowierszowy JSON w Apache Spark
Zobacz te: https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/HdfsWordCount.scala – yoga
Ten przykład nie jest związane z moim pytaniem. – Maksym
Czy możesz wyjaśnić lepiej, co próbujesz osiągnąć? Dlaczego potrzebujesz go jako strumienia (w przeciwieństwie do zwykłego czytania go jako RDD/Dataframe)? Czy pytasz, jak mieć iskrową transmisję strumieniową, przeczytać zawartość katalogu HDFS i zatrzymać się po zakończeniu (zamiast czekać na następny okres czasu)? Czy mówisz również o DStream lub strumieniowaniu strukturalnym? –