ログファイルの作成日に基づいて、異なるディレクトリにログファイルが移動しています。Sparkの複数のディレクトリからのログを結合する
> /mypath/2017/01/20/...
.
.
.
> /mypath/2017/02/13/...
> /mypath/2017/02/14/...
例えば
私は、このマスターファイルに集計を行うことができるようにpysparkを使用して1つのRDDにすべてのこれらのログファイルを結合したいと思います。
日付までに、sqlContextという名前の個別のディレクトリを作成し、特定の日付のすべてのログファイルを結合するためにUnionを使用しました。
DF1 = (sqlContext.read.schema(schema).json("/mypath/2017/02/13")).union(sqlContext.read.schema(schema).json("/mypath/2017/02/14"))
日付の範囲からログファイルを指定すると、マスターrddを簡単に取得できますか? (つまり、2017/01/20から2017/02/14まで)
私は非常に新しいスパークです。私が間違っていたら私を修正してください。あなたはsqlContextに固執する場合
また、新しいデータフレーム上のすべてのビジネスロジックを実行することであろう別の解決策は、ベースのフィルタへこれらのログ(DF1など)にすべて参加した後、「タイプ」列に表示されます。そうする最適なプロセスは何でしょうか? (私は通常、DF1.filter()を使用します)。他の効率的な方法はありますか? – SpaceOddity
sqlContext.read.schema(schema).json( "/ mypath/2017/02/[13-14]"))が機能していません。それは "不正なファイルパターン:インデックス4の近くの不正な文字範囲" – SpaceOddity