ขนาดบล็อค XDF คอมโพสิต Hadoop
MapReduce แยกแต่ละแฟ้มข้อความที่ป้อนข้อมูลเข้าอย่าง น้อยหนึ่งรายการสำหรับการป้อนค่าการแยกซึ่ง โดยค่าเริ่มต้นเป็น HDFS บล็อกขนาด เช่น 128 เมกะไบต์
-
แยกแต่ละอินพุทถูกแปลงจากข้อความที่ไม่ได้แยกวิเคราะห์ บีบอัดการบีบอัด และแยกวิเคราะห์ผลลัพธ์เป็นแฟ้มไบนารี xdfd ในไดเรกทอรีย่อยที่ "ข้อมูล" ของไดเรกทอรีผลลัพธ์ – ข้อมูลส่วนหัวสำหรับชุดของ xdfd ใน xdfm เดียวข้อมูลเมตาของแฟ้มในไดเรกทอรี "metadata"
-
สำหรับประสิทธิภาพในการวิเคราะห์ในภายหลัง แฟ้ม xdfd แต่ละผลลัพธ์ควรอย่างคร่าว ๆ ตรงกับขนาดบล็อก HDFS
-
การชดเชยสำหรับการบีบอัด XDF คุณจะดังนั้นโดยปกติแล้วจะต้องเพิ่มขนาดแฟ้ม xdfd ผลผลิต ด้วยการเพิ่มอินพุตแยกขนาดโดยใช้พารามิเตอร์นี้เมื่อต้องการ RxHadoopMR():
-
hadoopSwitches="-Dmapred.min.split.size=1000000000"
-
สำหรับล่าสุด Hadoop ติดตั้งโดยใช้ YARN พารามิเตอร์คือ mapreduce.input.fileinputformat.split.minsize
-
-
เพิ่มอินพุตแยกขนาดเพิ่มเติมอาจลดจำนวนแฟ้ม XDF คอมโพสิต และจึงเป็น หมายเลข parallelized ผังงานในการวิเคราะห์ในเวลาต่อมา ซึ่งอาจมีประโยชน์ถ้าจำนวนช่องแผนที่พร้อมใช้งานหรือคอนเทนเนอร์ที่มีขนาดเล็กซึ่งสัมพันธ์กับหมายเลขของการแยก ในทางกลับกัน เมื่อหลายแมปช่อง หรือคอนเทนเนอร์ที่มีอยู่ แยกการป้อนข้อมูลที่มีขนาดเล็กลง และ xdfd เพิ่มเติมอาจส่งผลให้เสร็จสมบูรณ์ได้รวดเร็วขึ้น
-
ตัวอย่าง
นำเข้า CSV มีอินพุต 670 เมกะไบต์ใน Hortonworks Sandbox ที่ใช้การป้อนข้อมูลเริ่มต้นที่แยกขนาด (32MB) สร้าง 670/32 = 21 xdfd ของ มีประสิทธิภาพการทำงานในการ rxSummary ของ 185" เพิ่มขนาดแยกสำหรับการป้อนค่าเป็นเมกะไบต์ 150 xdfd 5 ที่สร้างขึ้นสำหรับแต่ละประมาณ 32MB มีประสิทธิภาพการทำงานในการ rxSummary ของ 68" ชุดเอกสาร
rxSetComputeContext (RxHadoopMR(hadoopSwitches =
"-Dmapreduce.input.fileinputformat.split.minsize=150000000"))
rxImport (myCSV, myCXdf เขียนทับ = TRUE)
ชุด# rxSetComputeContext(RxHadoopMR()) นั้นกลับเมื่อทำเสร็จแล้ว