タスクマネージャ - > SQS - >スクレイパーワーカー(私のアプリ) - > AWS Firehose - > S3ファイル - > Spark - >(?)Redshiftのパイプラインを作成しました。SparkでインクリメンタルなS3ファイルを処理する方法
私が解決しようとしていますいくつかのものは/改善し、私が指導のために幸せになる:
- スクレーパーが潜在的に重複データを取得し、スパークでDUPのにつながる消防ホース、再びそれらをフラッシュすることができます。私の計算を開始する前にDistinct関数を使って火花の中でこれを解決するのでしょうか?
- 私はS3処理ファイルを削除しないので、データは大きくなり続けます。これは良い練習ですか? (入力データベースとしてs3を持っている)あるいは、スパークが終了した後に各ファイルを処理して削除しますか?現在、私は
sc.textFile("s3n://...../*/*/*")
を行っています。これは、すべてのバケットファイルを収集し、計算を実行します。 - 結果をRedshift(またはs3)に配置するにはどうすればよいですか?つまり、s3がますます大きくなると、赤方偏移はデータを重複してしまいます...私はいつも前にそれをフラッシュするでしょうか?どうやって?
処理対象の要素用のバケットを持つことができます。プッシュされたバケットは別のバケットに移動し、必要に応じてコピーを保持しますが、2度目は再処理しません –