1TBのサイズを持つ非常に多数のテキストファイルがあります。言い換えれば、各ファイルの単語数を計算し、各ファイルの結果を別々に保存する必要があるとします。 Apache Hadoopはこの種の問題の正しい解決策ですか?各ファイルのサイズは5 MBです。各ファイルの単語カウント結果を別々に見たいので、ファイルを連結することはできません。 Hadoopがやりたいことは、各ファイルをマッパーへの入力としてフィードし、それをレデューサーで個別の出力ファイルとして生成することです。Apache Hadoopで大量のテキストファイルを処理する
0
A
答えて
0
ここではWholeFileInputFormat.java
とWholeFileRecordReader.java
をご覧ください。https://github.com/tomwhite/hadoop-book/tree/master/ch08-mr-types/src/main/java これは、1つのファイルの内容をレコードとして読み込むのに役立ちます。私はInputFormatとRecordReaderを微調整してファイル名をキーとして出力する必要があるかもしれないと思います。
map-reduceで私はそれが地図の仕事であり、各地図の仕事はレコードの別個の単語をカウントする責任があると思います(これはファイルの全内容です)。これらのマップタスクの出力を直接保存することができます。これにより、1つのファイルの単語数がわかります。
私はあなたのユースケースを、すべての入力(すべてのファイルで)のすべての単語をカウントするために減速器が使用される標準の語数マップ縮小アプリケーションと比較していると思います。あなたはこれを行うつもりはないので私はあなたがここで減速しないと言った。
還元剤を使用して1つのファイルの単語を数えるのは良い考えです。
上記のinputformatとrecordreaderを使用し、map-reduceの上にCascadingまたはApache Pigまたはいくつかの高レベル抽象化を使用して作業を簡略化することもできます。
関連する問題
- 1. Apache Sparkで大量のテキストファイルを処理するのを中止します。
- 2. 大量のテレメトリの処理
- 3. 大きなテキストファイルの処理
- 4. バッチバッチ - 大量のデータを処理する
- 5. 大量のサーバーデータを処理する
- 6. Apache solrからデータを処理するためのHadoop
- 7. データ-WebのAPIを大量に処理
- 8. 大量のログ/トランザクションの処理
- 9. 大きなテキストファイルの自動処理
- 10. Rubyで大量のファイルを処理するときのスローダウン
- 11. MVCで大量のJsonデータを処理する方法は?
- 12. Laravel 5で大量のデータを処理する
- 13. Hadoopデータの処理
- 14. C#で大きなテキストファイルを処理する
- 15. 非常に大きなテキストファイルをレイジーテキストとバイトストリングで処理する
- 16. 大量のMySQLデータをHadoopにインポート
- 17. HadoopでXMLファイルを処理する
- 18. Apache SolrでTeraByteの大きなデータを処理できるか
- 19. 大量の保留中の要求を処理する方法
- 20. 大量のデータを処理するExcel for VBAのマクロ
- 21. 大量のJSON形式の大容量ファイルの処理と照会
- 22. nginxの最大サイズを超える、djangoの大量アップロードを処理する
- 23. Cppの大きなテキストファイル(> 50 GB)を処理する
- 24. 大量のREST APIコールを処理する方法は?
- 25. URLから大量のJSONを処理する方法
- 26. 大量のデータを並列に処理する
- 27. 大量のクエリーを処理してリアルタイムに出力する
- 28. テキストエリアから大量のPOSTデータを処理する方法は?
- 29. 大容量ファイルを効率的に反復処理する
- 30. Hadoopの日付の処理