私はできる限り私の要件を説明しようとします。しかし、それがまだ不明な場合は私に尋ねてください。Spark Streamソースの設計に関するアドバイスをいただけますか?
環境
私は5つのノードを持っています(将来的にはより多くなります)。それぞれ5分ごとに大きなCSVファイル(約1〜2 GB)を生成します。私は5分でこれらのCSVファイルを処理するためにapacheのスパークストリームを使用する必要があります。したがって、これらの5つのファイルは私の入力DStreamソースです。私は
を行うことを計画して何
私は以下のようなtextFileStreamを使用する計画:
ssc.textFileStream(dataDirectory)
5分ごとに私はHDFS上のディレクトリにこれらのCSVを配置します。次に、上記の関数を使用してinputDStreamを生成します。
以上のよう
の問題textFileStreamは一つの完全なファイルの代わりに、5つのファイルが必要です。私は、HDFS内のファイルをマージする方法がわからない
質問
- あなたはどのようにPythonがHDFS内のファイルをマージする教えてもらえますか?
- 私の方法よりも良い提案がありますか?また、私は
おかげ@Manasとして(あなたが入ってくるファイルのために見ている)フォルダに移動しなければなりません。しかし、DStreamを構築する。私はtextFileStream APIを使用する必要があります。そして、このAPIはディレクトリをパラメータとして受け入れています。だから、いくつかのコード例を挙げてもらえますか? –
はい、 'textFileStream'は、ディレクトリとしてパラメータをとります。したがって、任意の時点でそのディレクトリに来るファイルは、いつでもRDDの一部である可能性があります。私は今私とtextFileStreamの例を持っていません。しかし、私はそれを探して、それを見つけたときに投稿します。 – Manas
実際には、DStreamは一連のRDDで構築されています。したがって、ディレクトリ内のファイルをワイルドカードで5分ごとに読み取ってから、これらのRDDでDStreamを構築することができます。しかし、私はこれらのRDDでDStreamを構築する適切な方法を知らない。あなたは何か考えていますか? –