ฉันกำลังโหลดไฟล์ขนาดมหึมาไปยังฐานข้อมูล postgresql การทำเช่นนี้ผมใช้งานครั้งแรกsplit
ในแฟ้มที่จะได้รับไฟล์ขนาดเล็ก (30GB) และแล้วผมโหลดแต่ละไฟล์ขนาดเล็กเพื่อใช้ฐานข้อมูลและGNU Parallel
psql copy
ปัญหาคือว่าจะใช้เวลาประมาณ 7 ชั่วโมงในการแบ่งไฟล์แล้วจึงเริ่มโหลดไฟล์ต่อหนึ่งคอร์ สิ่งที่ฉันต้องการคือวิธีที่จะบอกsplit
ให้พิมพ์ชื่อไฟล์ไปยังเอาต์พุต std ทุกครั้งที่มันเสร็จสิ้นการเขียนไฟล์เพื่อที่ฉันจะได้ไพพ์ไปParallel
และมันก็เริ่มโหลดไฟล์ในเวลาที่split
เขียนมันเสร็จ บางสิ่งเช่นนี้
split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
ฉันอ่านsplit
man pages แล้วและฉันไม่พบอะไรเลย มีวิธีการทำเช่นนี้กับsplit
หรือเครื่องมืออื่น ๆ ?