Ich programmiere mit Spark-Streaming, habe aber Probleme mit scala. Ich versuche, die Funktion StreamingContext.fileStream
zu verwendenDie Definition dieser Funktion ist wie folgt:
%Vor%Erstellen Sie einen Eingabestream, der ein Hadoop-kompatibles Dateisystem nach neuen Dateien überwacht und diese unter Verwendung der angegebenen Schlüsselwerttypen und des angegebenen Eingabeformats liest. Dateinamen beginnend mit. werden ignoriert. K Schlüsseltyp zum Lesen der HDFS-Datei V Werttyp zum Lesen der HDFS-Datei F Eingabeformat zum Lesen der HDFS-Datei Verzeichnis HDFS-Verzeichnis zum Überwachen auf neue Datei
Ich weiß nicht, wie ich die Art von Schlüssel und Wert übergeben soll. Mein Code im Spark Streaming:
%Vor%Java-Code zum Schreiben der Hadoop-Datei:
%Vor%}
Wenn du fileStream
benutzen willst, musst du alle drei Typen param angeben, wenn du sie anrufst. Sie müssen wissen, was Ihre Key
, Value
und InputFormat
Typen sind, bevor Sie sie aufrufen. Wenn Ihre Typen LongWritable
, Text
und TextInputFormat
wären, würden Sie fileStream
wie folgt aufrufen:
Wenn diese 3 Typen zufällig Ihre Typen sind, dann sollten Sie textFileStream
stattdessen verwenden, da es keinen Typ params und delegiert auf fileStream
benötigt, die diese 3 Typen verwenden, die ich erwähnt habe. Das würde so aussehen:
Tags und Links scala apache-spark streaming