ใน Hadoop วิธีแสดงกระบวนการปัจจุบันของ -copyFromLocal


10

ฉันยังเป็นผู้เรียนมือใหม่ของ Hadoop และครั้งนี้ฉันพยายามประมวลผลไฟล์ 106GB ฉันเคย-copyFromLocalคัดลอกไฟล์ขนาดใหญ่นั้นไปยัง Hadoop DFS ของฉัน แต่เนื่องจากไฟล์มีขนาดใหญ่ฉันต้องรอเป็นเวลานานโดยไม่ทราบว่าสถานะการคัดลอกปัจจุบันเป็นอย่างไร

มีวิธีแสดงสถานะการคัดลอกไฟล์ปัจจุบันด้วยคำสั่งนี้หรือไม่?

ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของคุณ!

คำตอบ:


14

CopyFromLocalไม่มีความสามารถในการแสดงความคืบหน้าการคัดลอกไฟล์ $ watch hadoop fs -ls <filenameyouarecopying>หรือคุณสามารถเปิดเปลือกอีกและเรียกใช้ นี่จะแสดงไฟล์และขนาดของไฟล์ทุกๆ 2.0 วินาที


1
หากไม่มีเอกสารแสดงว่าไม่มีอยู่ :-)
SunnyShah

2

นอกจากนี้ยังสามารถติดตามความคืบหน้าของการอ่านไฟล์โลคัลโดยใช้pvคำสั่งและhdfs dfsไพพ์เนื้อหาไฟล์ไปยังstdin:

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


pvเป็นเครื่องมือที่ไม่มีการประเมินค่า IMO ทำงานที่นี่ได้อย่างสมบูรณ์แบบ
Michael Mior

1

ดูเหมือนว่าจะไม่มีตัวเลือก verbose สำหรับคำสั่ง copy ใด ๆ (copyFromLocal, copyToLocal, get, put) ทางออกที่ดีที่สุดของคุณน่าจะดูขนาดของไฟล์ที่เป็นปลายทางใน HDFS เพื่อวัดความคืบหน้า


1

คุณสามารถใช้ "nohup &" เพื่อดำเนินการคัดลอกเป็นกระบวนการพื้นหลัง nohup จะทำให้กระบวนการดำเนินการแม้หลังจากที่คุณออกจากระบบเซิร์ฟเวอร์ เมื่อใดก็ตามที่คุณต้องการคุณสามารถตรวจสอบกระบวนการโดยใช้ "hadoop fs -ls

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.