Data skew is not a new problem specific to MapReduce.
It has been studied previously in the parallel database
literature, but only limited on join [5], [6], [7], [8], [9], group
[10], and aggregate [11] operations. Although some of these
techniques have already been applied to MapReduce, users
still need to develop their own data skew mitigation methods
for specific applications in most cases. The Hadoop implementation of MapReduce by default uses static hash functions to partition the intermediate data. This works well
when the data is uniformly distributed, but can perform
badly when the input is skewed (some key values are significantly more frequent than others). This can be illuฟstrated in
the top figure of Fig. 1 when we run the sort benchmark [2]
on 10 GB input data following the Zipf distribution (s ¼ 1:0).
This situation also appears in other static partition methods.
For example, in the bottom figure, we use a static range partition method (RADIX partition with 26 reducers for words
starting with each letter of the alphabet and another reducer
for special characters) to generate a lexicographically
ordered inverted index on full English Wikipedia archive
with a total data size of 31 GB. Like the hash method, it
results in significant data skew as well. To tackle this problem, Hadoop provides a dynamic range partition method
which conducts a pre-run sample of the input before the real
job. The middle figure (same experiment environment as the
top figure) shows that this method mitigates the problem
somewhat, but the resulting distribution is still uneven.
การเอียงของข้อมูลไม่ใช่ปัญหาใหม่เฉพาะ MapReduceมันมีการศึกษาก่อนหน้านี้ในฐานข้อมูลแบบขนานกลุ่มวรรณกรรม แต่จำกัดเฉพาะบนรวม [5], [6], [7], [8], [9],[10], และรวมการดำเนินงาน [11] แม้เหล่านี้แล้วได้ใช้เทคนิคการ MapReduce ผู้ใช้ยัง จำเป็นต้องพัฒนาวิธีการบรรเทาสาธารณภัยต้นฉบับเอียงอัตโนมัติข้อมูลตนเองสำหรับการใช้งานเฉพาะในกรณีส่วนใหญ่ ปฏิบัติอย่างไร Hadoop MapReduce โดยค่าเริ่มต้นใช้ฟังก์ชันแฮคงจะแบ่งพาร์ติชันข้อมูลกลาง ใช้งานดีเมื่อข้อมูลมีกระจายสม่ำเสมอเมื่อเทียบเคียง แต่สามารถไม่ดีเมื่ออินพุตเป็นเบ้ (ค่าบางค่าที่สำคัญเป็นอย่างมากบ่อยขึ้นกว่าคนอื่น ๆ) สามารถ illuฟstrated ในรูปด้านบน 1 Fig. เมื่อเรารัน benchmark เรียงลำดับ [2]บน 10 GB ข้อมูลอินพุตต่อกระจาย Zipf (s ¼ 1:0)สถานการณ์นี้ยังปรากฏในวิธีการพาร์ติชันที่คงที่อื่น ๆตัวอย่าง ในรูปล่าง เราใช้วิธีคงช่วงพาร์ติชัน (พาร์ฐาน reducers 26 คำเริ่มต้น ด้วยตัวอักษรแต่ละตัวอักษรและลดอีกสำหรับอักขระพิเศษ) เพื่อสร้างเป็น lexicographicallyสั่งดัชนีกลับบนวิกิพีเดียภาษาอังกฤษเต็มถาวรมีขนาดข้อมูลรวมของ 31 GB ชอบวิธีแฮ มันผลลัพธ์ในข้อมูลสำคัญเอียงด้วย เล่นงานปัญหานี้ อย่างไร Hadoop ให้วิธีช่วงพาร์ติชันที่ทำตัวอย่างก่อนใช้ป้อนข้อมูลก่อนจริงงาน รูปตรงกลาง (เหมือนทดลองสภาพแวดล้อมเป็นการรูปด้านบน) แสดงว่า วิธีการนี้ mitigates ปัญหาค่อนข้าง แต่การกระจายผลลัพธ์ยังไม่สม่ำเสมอ
การแปล กรุณารอสักครู่..
