FAQ

1. Big data คืออะไร

คือการควบรวมชุดข้อมูลที่ซับซ้อนและมีขนาดใหญ่ เนื่องจากการเก็บข้อมูลแบบตารางนั้นไม่สามารถจัดการข้อมูลที่มีความซับซ้อนและขนาดใหญ่ได้ นั่นเป็นเหตุผลว่าทำไมจึงมีเครื่องมือพิเศษและกระบวนการที่ใช้สำหรับการทำงานของระบบการจัดเก็บข้อมูลขนาดใหญ่ขึ้นมาสนับสนุน Big data สามารถทำให้ผู้ร่วมงานเข้าใจธุรกิจดีขึ้นและช่วยในการขับเคลื่อนข้อมูลอย่างมีนัยยะสำคัญโดยการใช้ข้อมูลที่ไม่มีรูปแบบและข้อมูลที่จริงที่ถูกเก็บโดยระบบ นอกจากนี้ Big data ยังช่วยผู้ประกอบการในการตัดสินใจการดำเนินธุรกิจได้จากการข้อมูลที่มี

2. Five V’s ของ Big data คืออะไร

– Volume บ่งบอกถึงปริมาณข้อมูลทั้งหมดที่เติบโตอย่างรวดเร็ว

– Velocity คืออัตราการเติบโตของข้อมูล โดยอัตราการเติบโดตของข้อมูลนั้นมีปัจจัยหลักคือ social media

– Variety อ้างอิงความหลากหลายรูปแบบของข้อมูล เช่น ข้อความ เสียง วิดีโอและอื่นๆเป็นต้น

– Veracity หมายถึงความไม่แน่นอนของข้อมูลที่มีอยู่  Veracity เกิดขึ้นเนื่องจากข้อมูลจำนวนมากซึ่งทำให้เกิดความไม่สมบูรณ์และไม่สอดคล้องกัน

– Value หมายถึงการเปลี่ยนข้อมูลให้เป็นมูลค่า  การเปลี่ยนข้อมูลขนาดใหญ่ที่เข้าถึงให้เป็นมูลค่าธุรกิจอาจสร้างรายได้

3. Big Data และ hadoop เกี่ยวพันกันอย่างไร

Big data และ Hadoop เกือบจะเป็นคำที่มีความหมายเหมือนกัน  ด้วยการเพิ่มขึ้นของข้อมูลขนาดใหญ่ Hadoop ซึ่งเป็นเฟรมเวิร์กที่เชี่ยวชาญในการดำเนินการข้อมูลขนาดใหญ่ก็ได้รับความนิยมเช่นกัน  ผู้เชี่ยวชาญสามารถใช้กรอบนี้เพื่อวิเคราะห์ข้อมูลขนาดใหญ่และช่วยธุรกิจในการตัดสินใจ

4. การวิเคราะห์ Big data มีประโยชน์ในการเพิ่มรายได้ทางธุรกิจอย่างไร

การวิเคราะห์ big data กลายเป็นสิ่งสำคัญมากสำหรับธุรกิจ  ช่วยให้ธุรกิจแตกต่างจากผู้อื่นและเพิ่มรายได้  ด้วยการวิเคราะห์เชิงคาดการณ์ การวิเคราะห์Big data จะให้คำแนะนำที่เหมาะกับธุรกิจ  นอกจากนี้ยังช่วยให้ธุรกิจสามารถเปิดตัวผลิตภัณฑ์ใหม่ได้โดยขึ้นอยู่กับความต้องการและความชอบของลูกค้า  ปัจจัยเหล่านี้ทำให้ธุรกิจมีรายได้เพิ่มขึ้นดังนั้น บริษัท ต่างๆจึงใช้การวิเคราะห์ Big data นอกจากนี้ยังสามารถสร้างรายได้เพิ่มขึ้นอย่างมากถึง 5-20% จากการใช้เทคโนโลยีนี้  บริษัทยักษ์ใหญ่หลายแห่งใช้การวิเคราะห์ข้อมูล จากระบบ big data เพื่อเพิ่มรายได้ ได้แก่ Walmart, LinkedIn, Facebook, Twitter, Bank of America เป็นต้น

5. อธิบายขั้นตอนที่ต้องปฏิบัติตามเพื่อปรับใช้โซลูชัน Big Data

1) data Ingestion การส่งผ่านข้อมูล

ขั้นตอนแรกในการปรับใช้โซลูชัน Big  Dataคือการนำเข้าข้อมูลเช่นการแยกข้อมูลจากแหล่งต่างๆ  แหล่งข้อมูลอาจเป็น CRM เช่น Salesforce, Enterprise Resource Planning System เช่น SAP, RDBMS เช่น MySQL หรือไฟล์บันทึกเอกสารฟีดโซเชียลมีเดียอื่น ๆ ข้อมูลสามารถนำเข้าผ่านงานแบตช์หรือการสตรีมแบบเรียลไทม์  จากนั้นข้อมูลที่แยกออกมาจะถูกเก็บไว้ใน HDFS

2) Data Storage การจัดเก็บข้อมูล

หลังจากการนำเข้าข้อมูลขั้นตอนต่อไปคือการจัดเก็บข้อมูลที่แยกออกมา  ข้อมูลจะถูกเก็บไว้ในฐานข้อมูล HDFS หรือ NoSQL (เช่น HBase)  ที่เก็บข้อมูล HDFS ทำงานได้ดีสำหรับการเข้าถึงตามลำดับในขณะที่ HBase สำหรับการเข้าถึงแบบอ่าน / เขียนแบบสุ่ม

3) data processing การประมวลผลข้อมูล

ขั้นตอนสุดท้ายในการปรับใช้โซลูชัน Big data คือการประมวลผลข้อมูล  โดยข้อมูลจะถูกประมวลผลผ่านหนึ่งในกรอบการประมวลผลเช่น Spark, MapReduce, Pig เป็นต้น

 

6. องค์ประกอบของ HDFS และ YARN มีอะไรบ้าง

องค์ประกอบหลักสองอย่างของ HDFS คือ

NameNode – นี่คือโหนดหลักสำหรับการประมวลผลข้อมูลเมตาดาต้าสำหรับบล็อกข้อมูลภายใน HDFS

DataNode / SlaveNode – นี่คือโหนดที่ทำหน้าที่เป็นโหนดทาสเพื่อจัดเก็บข้อมูลสำหรับการประมวลผลและใช้โดย NameNode

CheckpointNode – ทำงานบนโฮสต์อื่นจาก NameNode

BackupNode- เป็น NameNode แบบอ่านอย่างเดียวซึ่งมีข้อมูลเมตาดาต้าของระบบไฟล์โดยไม่รวมตำแหน่งบล็อก

องค์ประกอบหลักสองอย่างของ YARN คือ

ResourceManager – ส่วนนี้ได้รับการร้องขอการประมวลผลและจัดสรรให้กับ NodeManagers ตามลำดับขึ้นอยู่กับความต้องการในการประมวลผล

NodeManager – ดำเนินการงานในแต่ละโหนดข้อมูล

7. ทำไม Hadoop จึงใช้สำหรับ Big Data Analytics?

เนื่องจากการวิเคราะห์ข้อมูลกลายเป็นหนึ่งในตัวแปรสำคัญของธุรกิจดังนั้นองค์กรต่างๆจึงต้องรับมือกับข้อมูลที่มีโครงสร้างไม่มีโครงสร้างและกึ่งโครงสร้างจำนวนมาก  การวิเคราะห์ข้อมูลที่ไม่มีโครงสร้างเป็นเรื่องยากที่ Hadoop มีส่วนสำคัญกับความสามารถของการจัดเก็บ การประมวลผล และการเก็บรวบรวมข้อมูลยิ่งไปกว่านั้น Hadoopยังเป็นโอเพ่นซอร์สและทำงานบนฮาร์ดแวร์ที่หลากหลายดังนั้นจึงเป็นทางออกที่คุ้มค่าสำหรับธุรกิจ

8. FSCK คืออะไร

FSCK ย่อมาจาก File System Check เป็นคำสั่งที่ HDFS ใช้คำสั่งนี้ใช้เพื่อตรวจสอบความไม่สอดคล้องกันและหากมีปัญหาใดๆ ในไฟล์ตัวอย่างเช่นหากมีบล็อกที่ขาดหายไปสำหรับไฟล์ HDFS จะได้รับการแจ้งเตือนผ่านคำสั่งนี้

9. อะไรคือความแตกต่างระหว่าง NAS (Network-attached storage) และ HDFS?

ความแตกต่างหลักระหว่าง NAS (Network-attached storage) และ HDFS ซึ่ง HDFS ทำงานบนคลัสเตอร์ของเครื่องในขณะที่ NAS ทำงานบนเครื่องแต่ละเครื่อง  ดังนั้นความซ้ำซ้อนของข้อมูลจึงเป็นปัญหาทั่วไปใน HDFS  ในทางตรงกันข้ามโปรโตคอลการจำลองนั้นแตกต่างกันในกรณีของ NAS  ดังนั้นโอกาสที่ข้อมูลจะซ้ำซ้อนจึงน้อยลงมาก

ข้อมูลจะถูกจัดเก็บเป็นบล็อกข้อมูลในไดรฟ์ภายในในกรณีของ HDFS  ในกรณีของ NAS จะจัดเก็บไว้ในฮาร์ดแวร์เฉพาะ

10. Command ในการจัดรูปแบบ NameNode คืออะไร?

$ hdfs namenode -format

11. ควรเตรียมฮาร์ดแวร์อย่างไรที่เหมาะสมที่สุดสำหรับ Hadoop?

โปรเซสเซอร์คู่หรือเครื่องคอร์ที่มีการกำหนดค่า RAM 4/8 GB และหน่วยความจำ ECC เหมาะอย่างยิ่งสำหรับการรันการทำงานของ Hadoop  อย่างไรก็ตามการกำหนดค่าฮาร์ดแวร์จะแตกต่างกันไปขึ้นอยู่กับเวิร์กโฟลว์และโฟลว์ของโปรเจ็กต์เฉพาะและจำเป็นต้องปรับแต่งตามนั้น

12. จะเกิดอะไรขึ้นเมื่อผู้ใช้สองคนพยายามเข้าถึงไฟล์เดียวกันใน HDFS?

HDFS NameNode รองรับการเขียนพิเศษเท่านั้น  ดังนั้นผู้ใช้รายแรกเท่านั้นที่จะได้รับสิทธิ์ในการเข้าถึงไฟล์และผู้ใช้รายที่สองจะถูกปฏิเสธ

13. Rack Awareness ใน Hadoop คืออะไร

เป็นอัลกอริทึมที่ใช้กับ NameNode เพื่อตัดสินใจว่าจะวางบล็อกและแบบจำลองอย่างไร ขึ้นอยู่กับข้อกำหนดของแร็คการรับส่งข้อมูลเครือข่ายจะถูกย่อให้เล็กที่สุดระหว่าง DataNodes ภายในชั้นวางเดียวกัน  ตัวอย่างเช่นถ้าเราพิจารณาปัจจัยการจำลองเป็น 3 สำเนาสองชุดจะถูกวางไว้บนชั้นวางเดียวในขณะที่สำเนาที่สามในชั้นแยกต่างหาก

14. อะไรคือความแตกต่างระหว่าง“ HDFS Block” และ“ Input Split”?

HDFS แบ่งข้อมูลอินพุตออกเป็นบล็อกสำหรับการประมวลผลซึ่งเรียกว่า HDFS Block

Input Split เป็นการแบ่งข้อมูลเชิงตรรกะโดยการทำแผนที่สำหรับการทำแผนที่

15. อธิบายคุณสมบัติที่สำคัญบางประการของ Hadoop

Hadoop รองรับการจัดเก็บและประมวลผลข้อมูลขนาดใหญ่  เป็นทางออกที่ดีที่สุดสำหรับการจัดการกับความท้าทายของข้อมูลขนาดใหญ่  คุณสมบัติที่สำคัญบางประการของ Hadoop ได้แก่

  1. Open Source – Hadoop เป็นเฟรมเวิร์กโอเพ่นซอร์สซึ่งหมายความว่าสามารถใช้ได้ฟรี  นอกจากนี้ผู้ใช้ยังได้รับอนุญาตให้เปลี่ยนซอร์สโค้ดตามความต้องการ
  2. Distributed Processing – Hadoop รองรับการประมวลผลข้อมูลแบบกระจายเช่นการประมวลผลที่เร็วขึ้น  ข้อมูลใน Hadoop HDFS ถูกจัดเก็บในลักษณะกระจายและ MapReduce รับผิดชอบการประมวลผลข้อมูลแบบขนาน
  3. Fault Tolerance – Hadoop มีเงื่อนไขในการป้องกันความผิดพลาดสูง  สร้างแบบจำลองสามแบบสำหรับแต่ละบล็อกที่โหนดต่างกันโดยค่าเริ่มต้น  หมายเลขนี้สามารถเปลี่ยนแปลงได้ตามความต้องการ  ดังนั้นเราสามารถกู้คืนข้อมูลจากโหนดอื่นได้หากโหนดหนึ่งล้มเหลว  การตรวจจับความล้มเหลวของโหนดและการกู้คืนข้อมูลทำได้โดยอัตโนมัติ
  4. Reliability – Hadoop จัดเก็บข้อมูลบนคลัสเตอร์ในลักษณะที่เชื่อถือได้โดยไม่ขึ้นกับเครื่องจักร  ดังนั้นข้อมูลที่จัดเก็บในสภาพแวดล้อม Hadoop จะไม่ได้รับผลกระทบจากความล้มเหลวของเครื่อง
  5. scalability- คุณสมบัติที่สำคัญอีกอย่างของ Hadoop คือความสามารถในการขยายขนาด  เข้ากันได้กับฮาร์ดแวร์อื่น ๆ และเราสามารถเชื่อมต่อฮาร์ดแวร์ใหม่เข้ากับโหนดได้อย่างง่ายดาย
  6. High Availability – ข้อมูลที่จัดเก็บใน Hadoop สามารถเข้าถึงได้แม้ฮาร์ดแวร์ล้มเหลว  ในกรณีที่ฮาร์ดแวร์ล้มเหลวข้อมูลสามารถเข้าถึงได้จากเส้นทางอื่น
16. อธิบายโหมดต่างๆที่ Hadoop ทำงาน

Apache Hadoop ทำงานใน 3 โหมดต่อไปนี้

  1. Standalone (Local) Mode – โดยค่าเริ่มต้น Hadoop จะทำงานในโหมดlocalนั่นคือบนโหนดเดียวที่ไม่กระจาย  โหมดนี้ใช้ระบบไฟล์โลคัลเพื่อดำเนินการอินพุตและเอาต์พุต  โหมดนี้ไม่รองรับการใช้ HDFS ดังนั้นจึงใช้สำหรับการดีบัก  ไม่จำเป็นต้องมีการกำหนดค่าแบบกำหนดเองสำหรับไฟล์การกำหนดค่าในโหมดนี้
  2. Pseudo-Distributed Mode – ในโหมดกระจายหลอก Hadoop จะทำงานบนโหนดเดียวเช่นเดียวกับโหมดสแตนด์อโลน  ในโหมดนี้ daemon แต่ละตัวจะรันในกระบวนการ Java แยกกัน  เนื่องจาก daemons ทั้งหมดทำงานบนโหนดเดียวจึงมีโหนดเดียวกันสำหรับทั้งโหนด Master และ Slave
  3. Fully – Distributed Mode – ในโหมดกระจายเต็ม daemons ทั้งหมดจะรันบนแต่ละโหนดที่แยกจากกันและทำให้เกิดคลัสเตอร์แบบหลายโหนด  มีโหนดที่แตกต่างกันสำหรับโหนด Master และ Slave
17. อธิบายส่วนประกอบหลักของ Hadoop

Hadoop เป็นเฟรมเวิร์กโอเพ่นซอร์สที่มีไว้สำหรับจัดเก็บและประมวลผลข้อมูลขนาดใหญ่ในลักษณะกระจาย  ส่วนประกอบหลักของ Hadoop ได้แก่

HDFS (Hadoop Distributed File System) – HDFS เป็นระบบจัดเก็บข้อมูลพื้นฐานของ Hadoop  ไฟล์ข้อมูลขนาดใหญ่ที่ทำงานบนคลัสเตอร์ของฮาร์ดแวร์สินค้าโภคภัณฑ์จะถูกเก็บไว้ใน HDFS  สามารถจัดเก็บข้อมูลได้อย่างน่าเชื่อถือแม้ว่าฮาร์ดแวร์จะล้มเหลว

Hadoop MapReduce – MapReduce คือเลเยอร์ Hadoop ที่รับผิดชอบการประมวลผลข้อมูล  เขียนแอปพลิเคชันเพื่อประมวลผลข้อมูลที่ไม่มีโครงสร้างและโครงสร้างที่จัดเก็บใน HDFS  มีหน้าที่ในการประมวลผลข้อมูลปริมาณมากแบบขนานโดยแบ่งข้อมูลออกเป็นงานอิสระ  การประมวลผลจะทำในสองขั้นตอนแผนที่และลด  แผนที่เป็นขั้นตอนแรกของการประมวลผลที่ระบุรหัสลอจิกที่ซับซ้อนและการลดเป็นขั้นตอนที่สองของการประมวลผลที่ระบุการดำเนินการที่มีน้ำหนักเบา

YARN – กรอบการประมวลผลใน Hadoop คือ YARN  ใช้สำหรับการจัดการทรัพยากรและมีเครื่องมือประมวลผลข้อมูลหลายตัวเช่นวิทยาศาสตร์ข้อมูลการสตรีมแบบเรียลไทม์และการประมวลผลแบทช์

 

18. บล็อกใน HDFS คืออะไรและขนาดเริ่มต้นใน Hadoop 1 และ Hadoop 2 คืออะไร? เราสามารถเปลี่ยนขนาดบล็อกได้หรือไม่?

บล็อกคือที่เก็บข้อมูลต่อเนื่องที่เล็กที่สุดในฮาร์ดไดรฟ์  สำหรับ HDFS บล็อกจะถูกเก็บไว้ในคลัสเตอร์ Hadoop

ขนาดบล็อกเริ่มต้นใน Hadoop 1 คือ 64 MB

ขนาดบล็อกเริ่มต้นใน Hadoop 2 คือ: 128 MB

ได้เราสามารถเปลี่ยนขนาดบล็อกได้โดยใช้พารามิเตอร์ – dfs.block.size ที่อยู่ในไฟล์ hdfs-site.xml

19. อะไรคือ Distributed Cache ใน MapReduce Framework

Distributed Cache เป็นคุณลักษณะของ Hadoop MapReduce framework เพื่อแคชไฟล์สำหรับแอปพลิเคชัน  Hadoop framework ทำให้ไฟล์แคชพร้อมใช้งานสำหรับทุกแผนที่ / ลดงานที่ทำงานบนโหนดข้อมูล  ดังนั้นไฟล์ข้อมูลสามารถเข้าถึงไฟล์แคชเป็นไฟล์ในเครื่องในงานที่กำหนด

20. Hadoop 3 โหมดการทำงานคืออะไร?

1.) Standalone or local: นี่เป็นโหมดเริ่มต้นและไม่จำเป็นต้องกำหนดค่าใดๆ  ในโหมดนี้ส่วนประกอบทั้งหมดต่อไปนี้ของ Hadoop ใช้ระบบไฟล์ภายในและรันบน JVM เดียว –

NameNode

DataNode

ResourceManager

NodeManager

2.) Pseudo-distribution: ในโหมดนี้บริการ Hadoop หลักและทาสทั้งหมดจะถูกปรับใช้และดำเนินการบนโหนดเดียว

3.) Fully distributed: ในโหมดนี้ Hadoop master และ slave services จะถูกปรับใช้และดำเนินการบนโหนดแยกกัน

21. อธิบาย JobTracker ใน Hadoop

JobTracker เป็นกระบวนการ JVM ใน Hadoop เพื่อส่งและติดตามงาน MapReduce

JobTracker ดำเนินกิจกรรมต่อไปนี้ใน Hadoop ตามลำดับ

JobTracker รับงานที่แอปพลิเคชันของลูกค้าส่งไปยังตัวติดตามงาน

JobTracker แจ้ง NameNode เพื่อกำหนดโหนดข้อมูล

JobTracker จัดสรรโหนด TaskTracker ตามสล็อตที่มีส่งงานบนโหนด TaskTracker ที่จัดสรร

JobTracker ตรวจสอบโหนด TaskTracker เมื่องานล้มเหลว JobTracker จะได้รับแจ้งและตัดสินใจว่าจะจัดสรรงานใหม่อย่างไร

22. ไฟล์คอนฟิกต่างๆใน Hadoop มีอะไรบ้าง?

ไฟล์กำหนดค่าต่างๆใน Hadoop คือ

core-site.xml – ไฟล์คอนฟิกูเรชันนี้มีการตั้งค่าคอนฟิกูเรชันหลัก Hadoop ตัวอย่างเช่นการตั้งค่า I / O ซึ่งใช้กันทั่วไปสำหรับ MapReduce และ HDFS  ใช้ชื่อโฮสต์พอร์ต

mapred-site.xml – ไฟล์คอนฟิกูเรชันนี้ระบุชื่อเฟรมเวิร์กสำหรับ MapReduce โดยการตั้งค่า mapreduce.framework.name

hdfs-site.xml – ไฟล์คอนฟิกูเรชันนี้มีการตั้งค่าคอนฟิกูเรชัน HDFS daemons  นอกจากนี้ยังระบุการอนุญาตบล็อกเริ่มต้นและการตรวจสอบการจำลองบน HDFS

yarn-site.xml – ไฟล์คอนฟิกูเรชันนี้ระบุการตั้งค่าคอนฟิกสำหรับ ResourceManager และ NodeManager

23. commodity hardware คืออะไร?

commodity hardwareเป็นระบบต้นทุนต่ำที่ระบุโดยความพร้อมใช้งานน้อยและคุณภาพต่ำ commodity hardwareประกอบด้วย RAM เนื่องจากให้บริการหลายอย่างที่ต้องใช้ RAM ในการดำเนินการ  ไม่จำเป็นต้องมีการกำหนดค่าฮาร์ดแวร์ระดับไฮเอนด์หรือซูเปอร์คอมพิวเตอร์เพื่อเรียกใช้ Hadoop แต่สามารถทำงานบนฮาร์ดแวร์ใดก็ได้

24. NFS แตกต่างจาก HDFS อย่างไร?

มี Distributed File Systemที่ทำงานในแบบของตัวเอง  NFS (Network File System) เป็นหนึ่งในระบบจัดเก็บไฟล์แบบกระจายที่เก่าแก่และเป็นที่นิยมในขณะที่ HDFS (Hadoop Distributed File System) เป็นระบบที่เพิ่งใช้และเป็นที่นิยมในการจัดการข้อมูลขนาดใหญ่

25. MapReduce คืออะไร? Syntax ใช้ในการรันโปรแกรม MapReduce คืออะไร?

MapReduce เป็นรูปแบบการเขียนโปรแกรมใน Hadoop สำหรับการประมวลผลชุดข้อมูลขนาดใหญ่บนคลัสเตอร์ของคอมพิวเตอร์ที่เรียกกันทั่วไปว่า HDFS  มันเป็นรูปแบบการเขียนโปรแกรมแบบขนาน

Syntax ในการรันโปรแกรม MapReduce คือ – hadoop_jar_file.jar / input_path / output_path

26. หมายเลขพอร์ตสำหรับ NameNode, Task Tracker และ Job Tracker คืออะไร?

NameNode – Port 50070

Task Tracker – Port 50060

Job Tracker – Port 50030

27. การอนุญาตไฟล์ที่แตกต่างกันใน HDFS สำหรับไฟล์หรือระดับไดเร็กทอรีคืออะไร?

Hadoop ระบบไฟล์แบบกระจาย (HDFS) ใช้โมเดลสิทธิ์เฉพาะสำหรับไฟล์และไดเร็กทอรี  ระดับผู้ใช้ต่อไปนี้ใช้ใน HDFS ได้แก่ owner group และ อื่นๆ

สำหรับผู้ใช้แต่ละคนที่กล่าวถึงข้างต้นการอนุญาตต่อไปนี้สามารถใช้ได้

อ่าน (r)

เขียน (w)

ดำเนินการ (x)

สิทธิ์ดังกล่าวข้างต้นทำงานแตกต่างกันสำหรับไฟล์และไดเรกทอรี

For files –

สิทธิ์ r ใช้สำหรับการอ่านไฟล์

สิทธิ์ w ใช้สำหรับเขียนไฟล์

For directories – 

สิทธิ์ r แสดงรายการเนื้อหาของไดเร็กทอรีเฉพาะ

สิทธิ์ w สร้างหรือลบไดเร็กทอรี

สิทธิ์ X ใช้สำหรับการเข้าถึงไดเร็กทอรีลูก

28. เหตุใด HDFS จึงเหมาะสำหรับชุดข้อมูลขนาดใหญ่เท่านั้นและไม่ใช่เครื่องมือที่ถูกต้องสำหรับใช้กับไฟล์ขนาดเล็กจำนวนมาก

สาเหตุนี้เกิดจากปัญหาประสิทธิภาพของ NameNode  โดยปกติ NameNode จะได้รับการจัดสรรพื้นที่ขนาดใหญ่เพื่อจัดเก็บข้อมูลเมตาสำหรับไฟล์ขนาดใหญ่  ข้อมูลเมตาควรมาจากไฟล์เดียวเพื่อการใช้พื้นที่ที่เหมาะสมและคุ้มค่า  ในกรณีของไฟล์ขนาดเล็ก NameNode จะไม่ใช้พื้นที่ทั้งหมดซึ่งเป็นปัญหาในการเพิ่มประสิทธิภาพ

29. ทำไมเราถึงต้องการ Data Locality ใน Hadoop?

ชุดข้อมูลใน HDFS จัดเก็บเป็นบล็อกใน DataNodes คลัสเตอร์ Hadoop  ในระหว่างการดำเนินงาน MapReduce แต่ละ Mapper จะประมวลผลบล็อก (Input Splits)  หากข้อมูลไม่ได้อยู่ในโหนดเดียวกันกับที่ Mapper กำลังเรียกใช้งานข้อมูลจะต้องคัดลอกจาก DataNode บนเครือข่ายไปยัง DataNode ที่ทำแผนที่

Data locality มีได้ 3 ประเภท

  1. Data local – ในข้อมูลประเภทนี้และผู้ทำแผนที่จะอยู่บนโหนดเดียวกัน  นี่คือความใกล้ชิดที่สุดของข้อมูลและสถานการณ์ที่ต้องการมากที่สุด
  2. Rack Local – ในสถานการณ์นี้ผู้ทำแผนที่และข้อมูลจะอยู่บนชั้นวางเดียวกัน แต่อยู่บนโหนดข้อมูลที่ต่างกัน
  3. Difference Rack – ในสถานการณ์จำลองนี้ผู้ทำแผนที่และข้อมูลจะอยู่บนชั้นวางที่แตกต่างกัน
30. DFS สามารถจัดการข้อมูลจำนวนมากได้แล้วทำไมเราถึงต้องการ Hadoop framework?

Hadoop ไม่ได้มีไว้สำหรับจัดเก็บข้อมูลขนาดใหญ่เท่านั้น แต่ยังใช้ในการประมวลผลข้อมูลขนาดใหญ่เหล่านั้นด้วย  แม้ว่า DFS (ระบบไฟล์แบบกระจาย) ก็สามารถจัดเก็บข้อมูลได้เช่นกัน

31. Sequencefileinputformat คืออะไร?

Hadoop ใช้รูปแบบไฟล์เฉพาะซึ่งเรียกว่าไฟล์ลำดับ  ไฟล์ลำดับจะเก็บข้อมูลในคู่ด้วยค่าแบบอนุกรม  Sequencefileinputformat คือรูปแบบการป้อนข้อมูลเพื่ออ่านไฟล์ลำดับ