Hadoop'ta bir Harita Azaltma Programında HDFS olan PDF dosyalarını ayrıştırmak zorundayım. Bu yüzden PDF dosyasını HDFS'den Giriş bölü olarak aldım ve ayrıştırılmalı ve Mapper Sınıfına gönderilmelidir. Bu InputFormat'ı uygulamak için bu link'u geçtim. Bu giriş bölümleri nasıl ayrıştırılabilir ve metin biçimine dönüştürülebilir?PDF dosyalarını Hadoop Map'de ayrıştırma
cevap
PDF dosyalarını Hadoop'ta işleme, FileInputFormat Sınıfını genişleterek yapılabilir. Sınıfı WholeFileInputFormat olarak genişletelim. WholeFileInputFormat sınıfında getRecordReader() yöntemini geçersiz kılarsınız. Şimdi her bir pdf, Bireysel Giriş Bölmesi olarak alınacaktır. Ardından, bu bireysel ayırma metni ayıklamak için ayrıştırılabilir. Bu link, FileInputFormat öğesinin nasıl genişletileceğinin açık bir örneğini verir.
Bölmelerinize bağlıdır. Ayrışmak için her PDF'ye bir bütün olarak ihtiyaç duyacağınızı düşünüyorum. Bunu yapmak için Java kütüphaneleri var ve Google nerede olduklarını biliyor.
Bunu göz önüne alarak, ayrıştırmaya hazır olduğunuzda dosyanın bir bütün olarak bulunduğu bir yaklaşım kullanmanız gerekir. Bunu haritacıda yapmak istediğinizi varsayarak, tüm dosyaları eşleştiriciye teslim edecek bir okuyucuya ihtiyacınız olacaktır. Bunu yapmak için kendi okuyucunuzu yazabilirsin ya da belki de orada zaten bir tane var. Muhtemelen PDF'lerin dizinini tarayan ve her dosyanın adını mapper'a ve içeriği de değer olarak geçiren bir okuyucu oluşturabilirsiniz.
CombileFileInput biçimi yerine WholeFileInput biçimi uygulanması sorunu çözer. Böylece, AllFileInput formatında her bir PDF dosyası, tek bir giriş bölmesi olarak alınacaktır. Sonra bu giriş bölmeleri tamamen ayrıştırılabilir. – WR10
Ayrıca, tüm dosyayı tek bir bölünmüş olarak ayrıştırmaya çalışırken, okunmakta olan dosyanın boyutu bir dar boğaz olmayacak mı? Büyüklükteki bir TB dosyasını düşünün ve tek bir dosya varsa, tek bir makinede zorunlu olarak ayrıştırılmalıdır. Bu darboğazın üstesinden nasıl geleceğiz? – WR10
Öncelikle, öncelikle ayrıştırmak için PDF'ye tam olarak ihtiyaç duyduğunuzun gerçek olup olmadığını öğrenin. Değilse, bu sorunu giderir. Bozulamayacağınızı varsayarsak, dosya adlarını bölme olarak geçirmeniz ve doğrudan eşleştiricinizdeki HDFS'den okumanız gerektiğini düşünüyorum. –
- 1. PDF Dosyalarını Cocoa'da Birleştirme
- 2. Birleştirilen PDF Dosyalarını Görüntüleme
- 3. PDF Kitaplıktaki PDF dosyalarını görüntüleyebilmek için kütüphane
- 4. Hadoop: ORC dosyalarını okumak ve RDBMS'ye eklemek?
- 5. png dosyalarını tek pdf dosyasına dönüştürmek gerekiyor
- 6. haskell - .pdf dosyalarının ayrıştırma/okuma içeriği
- 7. Python'da büyük sözde xml dosyalarını ayrıştırma
- 8. .deflate dosyalarını indirmek için hadoop fs -getmerge'i nasıl kullanırım?
- 9. Hadoop
- 10. Hadoop
- 11. Hadoop
- 12. 'hadoop dfs' ve `hadoop fs`
- 13. Hadoop MapReduce
- 14. hadoop hdfs'de/tmp dizini nedir?
- 15. Hadoop -getmerge nasıl çalışır? Hadoop getmerge açıklamada
- 16. Hadoop mongo-hadoop kullanarak python'a akıyor
- 17. PDF dosyalarını Adobe Acrobat ile, SDK ile karşılaştırın
- 18. pdf dosyalarını şifrelemek/şifresini çözmek için Java API
- 19. Nasıl mvc4 itextsharp kullanarak html dosyalarını pdf dönüştürmek
- 20. PDF dosyalarını otomatik olarak döndürme ve ortalamayı devre dışı bırak
- 21. .pdf dosyalarını PHP kullanarak BLOB'lar olarak MySQL'e nasıl kaydederim?
- 22. Evg'de Org modu açık PDF dosyalarını nasıl yapabilirim?
- 23. .NET'teki PDF dosyalarını akıllı kartlarla dijital olarak nasıl imzalarsınız?
- 24. Perl'de PDF 1.5 dosyalarını nasıl okuyabilir ve kullanabilirim?
- 25. Bir mobil tarayıcıda çalışırken pdf dosyalarını oluştururken sorun
- 26. Pdf ayrıştırma sırasında hedef dizeden sayfa numarası nasıl alınır
- 27. Swift'de PDF Ayrıştırma ile ilgili bazı iyi belgeler var mı?
- 28. Hadoop HDFS
- 29. Son derece büyük XML dosyalarını php olarak ayrıştırma
- 30. PDF'de PDF Ayrıştırıcı API'si
Bu yanıt, aradığınız şeyin bir parçası olabilir: http://stackoverflow.com/a/9298965/698839 –