Di Hadoop, cara menunjukkan proses -copyFromLocal saat ini


10

Saya masih seorang pembelajar pemula dari Hadoop, dan kali ini saya mencoba untuk memproses file 106GB. Saya dulu -copyFromLocalmenyalin file besar itu ke Hadoop DFS saya, tetapi karena file itu besar saya harus menunggu lama tanpa petunjuk tentang status penyalinan saat ini.

Apakah ada cara untuk menunjukkan status penyalinan file saat ini dengan perintah ini?

Terima kasih sebelumnya atas bantuan Anda!

Jawaban:


14

CopyFromLocaltidak memiliki kemampuan untuk menampilkan kemajuan menyalin file. Atau, Anda dapat membuka shell lain dan menjalankan $ watch hadoop fs -ls <filenameyouarecopying>. Ini akan menampilkan file dan ukurannya setiap 2,0 detik sekali.


1
Jika tidak didokumentasikan maka tidak ada. :-)
SunnyShah

2

Dimungkinkan juga untuk melacak kemajuan pembacaan file lokal menggunakan pvperintah dan menyalurkan konten file ke hdfs dfsstdin:

pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt


pvadalah alat IMO undervalued. Apakah pekerjaan di sini sempurna.
Michael Mior

1

Tampaknya tidak ada opsi verbose untuk semua perintah salin (copyFromLocal, copyToLocal, dapatkan, masukkan). Taruhan terbaik Anda mungkin untuk melihat ukuran file di tujuan itu pada HDFS untuk mengukur kemajuannya.


1

Anda dapat menggunakan "nohup &" untuk menjalankan penyalinan sebagai proses latar belakang. nohup akan melakukan proses untuk mengeksekusi bahkan setelah Anda keluar dari server. Kapan pun Anda butuhkan, Anda dapat memeriksa proses menggunakan "hadoop fs -l.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.