Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 16499|Jawab: 0

[Sumber] Unduh file langsung dari Hadoop HDFS

[Salin tautan]
Diposting pada 10/07/2019 14.20.11 | | |
Unduh file besar dari HDFS

Saya mendapatkan file besar (sekitar 2GB) DataInputStream dari klien HDFS dan saya perlu menyimpannya sebagai file di host saya.

Saya berpikir untuk menggunakan IOUtils umum apache dan melakukan sesuatu seperti ini......


Saya telah mencari solusi lain yang lebih baik dari yang satu ini. Perhatian utama adalah penggunaan buffering dalam input dan IOUtils.copy.

Untuk file yang lebih besar dari 2GB, disarankan untuk menggunakan IOUtils.copyLarge() (jika kita berbicara tentang IOUtils yang sama: org.apache.commons.io.IOUtils)

Replika di IOUtils menggunakan ukuran buffer default 4Kb (meskipun Anda dapat menentukan ukuran buffer lain sebagai parameter).

Perbedaan antara copy() dan copyLarge() adalah mengembalikan hasilnya.

Karena copy(), jika alirannya lebih besar dari 2GB, Anda akan berhasil menggunakan salinan, tetapi hasilnya adalah -1.

Untuk copyLarge() hasilnya adalah jumlah byte yang disalin sepenuhnya.

Lihat lebih lanjut dalam dokumentasi di sini:


Login hyperlink terlihat.



Cara memeriksa apakah file diunduh sepenuhnya melalui Spring Rest API

Saya membuat REST API sederhana untuk menyajikan file dari hdfs (filenya besar dan saya tidak ingin menyalinnya secara lokal).

Saya ingin mencatat informasi bahwa unduhan file berhasil diselesaikan, yaitu membaca seluruh aliran, tetapi saya tidak tahu caranya. Saya hanya dapat merekam informasi bahwa unduhan file dimulai.

Bantuan apa pun akan sangat dihargai.


Anda dapat mencoba membuat pembungkus di InputStream dan memicu beberapa bendera pada aliran close(close()).

Misalnya, Anda dapat menggunakan ProxyInputStream sebagai dasar:








Mantan:Bagikan beberapa situs web yang diukur untuk menerima kode verifikasi SMS secara online
Depan:JS--Plugin: Lampiran Pengembangan dan Implementasi Pohon dapat diunduh!!
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com