คำถามและคำตอบในการสัมภาษณ์ Hadoop มากกว่า 30 รายการ

เผยแพร่แล้ว: 2022-12-01

สถิติจาก Forbes ระบุว่ากว่า 90% ขององค์กรระดับโลกใช้การวิเคราะห์ข้อมูลขนาดใหญ่เพื่อสร้างรายงานการลงทุนของตน

ด้วยความนิยมที่เพิ่มขึ้นของ Big Data ส่งผลให้โอกาสในการทำงานของ Hadoop เพิ่มมากขึ้นกว่าเมื่อก่อน

ดังนั้น เพื่อช่วยให้คุณได้รับบทบาทเป็นผู้เชี่ยวชาญ Hadoop คุณสามารถใช้คำถามและคำตอบในการสัมภาษณ์เหล่านี้ที่เรารวบรวมไว้ให้คุณในบทความนี้เพื่อช่วยให้คุณผ่านการสัมภาษณ์

บางทีการรู้ข้อเท็จจริง เช่น ช่วงเงินเดือนที่ทำให้ Hadoop และบทบาท Big Data มีกำไร อาจกระตุ้นให้คุณผ่านการสัมภาษณ์นั้นใช่ไหม

  • จากข้อมูลของ Indeed.com นักพัฒนา Big Data Hadoop ในสหรัฐอเมริกาได้รับเงินเดือนเฉลี่ย 144,000 ดอลลาร์
  • ตาม itjobswatch.co.uk เงินเดือนเฉลี่ยของนักพัฒนา Big Data Hadoop คือ 66,750 ปอนด์
  • ในอินเดีย แหล่งข่าวของ Indeed.com ระบุว่าพวกเขาจะได้รับเงินเดือนเฉลี่ย ₹16,00,000

ร่ำรวยคุณไม่คิดเหรอ? ตอนนี้เรามาเรียนรู้เกี่ยวกับ Hadoop กัน

Hadoop คืออะไร?

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

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

มาดูคำถามสัมภาษณ์ Hadoop ที่พบบ่อยและคำตอบที่ถูกต้องกัน

คำถามและคำตอบในการสัมภาษณ์ของ Hadoop

ฮาดูป

หน่วยเก็บข้อมูลใน Hadoop คืออะไร

คำตอบ : หน่วยเก็บข้อมูลของ Hadoop เรียกว่า Hadoop Distributed File System (HDFS)

Network Attached Storage แตกต่างจาก Hadoop Distributed File System อย่างไร

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

ในขณะที่การจัดเก็บข้อมูลใน NAS อยู่บนฮาร์ดแวร์เฉพาะ HDFS จะกระจายบล็อคข้อมูลไปยังเครื่องทั้งหมดภายในคลัสเตอร์ Hadoop

NAS ใช้อุปกรณ์จัดเก็บข้อมูลระดับไฮเอนด์ซึ่งค่อนข้างแพง ในขณะที่ฮาร์ดแวร์สินค้าโภคภัณฑ์ที่ใช้ใน HDFS นั้นคุ้มค่า

NAS จัดเก็บข้อมูลแยกต่างหากจากการคำนวณ ดังนั้นจึงไม่เหมาะสำหรับ MapReduce ในทางตรงกันข้าม การออกแบบของ HDFS ช่วยให้สามารถทำงานร่วมกับเฟรมเวิร์ก MapReduce ได้ การคำนวณจะย้ายไปยังข้อมูลในเฟรมเวิร์ก MapReduce แทนที่จะเป็นข้อมูลในการคำนวณ

อธิบาย MapReduce ใน Hadoop และ Shuffling

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

ให้ภาพรวมในสถาปัตยกรรม Apache Pig

อาปาเช่หมูสถาปัตยกรรม
สถาปัตยกรรม Apache Pig

คำตอบ : สถาปัตยกรรม Apache Pig มีล่าม Pig Latin ที่ประมวลผลและวิเคราะห์ชุดข้อมูลขนาดใหญ่โดยใช้สคริปต์ Pig Latin

Apache pig ยังประกอบด้วยชุดของชุดข้อมูลที่ดำเนินการกับข้อมูล เช่น เข้าร่วม โหลด กรอง เรียงลำดับ และจัดกลุ่ม

ภาษา Pig Latin ใช้กลไกการดำเนินการเช่น Grant shell, UDF และ Embedded สำหรับการเขียนสคริปต์ Pig ที่ทำงานที่จำเป็น

Pig ทำให้การทำงานของโปรแกรมเมอร์ง่ายขึ้นด้วยการแปลงสคริปต์ที่เขียนเหล่านี้เป็นชุดงาน Map-Reduce

ส่วนประกอบสถาปัตยกรรม Apache Pig ประกอบด้วย:

  • Parser – จัดการ Pig Scripts โดยการตรวจสอบไวยากรณ์ของสคริปต์และดำเนินการตรวจสอบประเภท เอาต์พุตของโปรแกรมแยกวิเคราะห์แสดงคำสั่งของ Pig Latin และตัวดำเนินการเชิงตรรกะ และเรียกว่า DAG (กราฟกำกับแบบ acyclic)
  • เครื่องมือเพิ่มประสิทธิภาพ – เครื่องมือเพิ่มประสิทธิภาพใช้การปรับให้เหมาะสมเชิงตรรกะ เช่น การฉายภาพและการเลื่อนลงบน DAG
  • คอมไพเลอร์ – รวบรวมแผนตรรกะที่ปรับให้เหมาะสมจากเครื่องมือเพิ่มประสิทธิภาพเป็นชุดของงาน MapReduce
  • Execution Engine – นี่คือที่การดำเนินการขั้นสุดท้ายของงาน MapReduce ในเอาต์พุตที่ต้องการ
  • โหมดการดำเนินการ – โหมด การดำเนินการใน Apache pig ส่วนใหญ่ประกอบด้วยโหมดท้องถิ่นและการลดแผนที่

แสดงรายการความแตกต่างระหว่าง Local Metastore และ Remote Metastore

คำตอบ : บริการ Metastore ใน Local Metastore ทำงานใน JVM เดียวกันกับ Hive แต่เชื่อมต่อกับฐานข้อมูลที่ทำงานในกระบวนการแยกต่างหากบนเครื่องเดียวกันหรือเครื่องระยะไกล ในทางกลับกัน Metastore ใน Remote Metastore ทำงานใน JVM โดยแยกจากบริการ Hive JVM

Five V's ของ Big Data คืออะไร?

คำตอบ : V ทั้งห้านี้แสดงถึงลักษณะสำคัญของ Big Data พวกเขารวมถึง:

  • มูลค่า : ข้อมูลขนาดใหญ่พยายามที่จะให้ประโยชน์ที่สำคัญจากผลตอบแทนจากการลงทุน (ROI) สูงแก่องค์กรที่ใช้ข้อมูลขนาดใหญ่ในการดำเนินงานข้อมูลของตน ข้อมูลขนาดใหญ่นำคุณค่านี้มาจากการค้นพบข้อมูลเชิงลึกและการจดจำรูปแบบ ซึ่งส่งผลให้ลูกค้าสัมพันธ์แน่นแฟ้นยิ่งขึ้นและการดำเนินงานที่มีประสิทธิภาพยิ่งขึ้น รวมถึงประโยชน์อื่นๆ
  • ความ หลากหลาย : สิ่งนี้แสดงถึงความแตกต่างของประเภทข้อมูลที่รวบรวม รูปแบบต่างๆ ได้แก่ CSV วิดีโอ เสียง ฯลฯ
  • ปริมาณ : กำหนดจำนวนและขนาดที่สำคัญของข้อมูลที่จัดการและวิเคราะห์โดยองค์กร ข้อมูลนี้แสดงถึงการเติบโตแบบทวีคูณ
  • ความเร็ว : นี่คืออัตราความเร็วแบบทวีคูณสำหรับการเติบโตของข้อมูล
  • ความ จริง : ความจริงหมายถึงข้อมูลที่ 'ไม่แน่นอน' หรือ 'ไม่ถูกต้อง' มีอยู่อย่างไร เนื่องจากข้อมูลไม่สมบูรณ์หรือไม่สอดคล้องกัน

อธิบายประเภทข้อมูลต่างๆ ของ Pig Latin

คำตอบ : ประเภทข้อมูลใน Pig Latin รวมถึงประเภทข้อมูลอะตอมและประเภทข้อมูลที่ซับซ้อน

ชนิดข้อมูล Atomic เป็นชนิดข้อมูลพื้นฐานที่ใช้ในทุกภาษา รวมถึงสิ่งต่อไปนี้:

  • Int – ชนิดข้อมูลนี้กำหนดจำนวนเต็ม 32 บิตที่เซ็นชื่อ ตัวอย่าง: 13
  • ยาว – ยาวกำหนดจำนวนเต็ม 64 บิต ตัวอย่าง: 10L
  • Float – กำหนดจุดลอยตัว 32 บิตที่เซ็นชื่อ ตัวอย่าง: 2.5F
  • สองเท่า – กำหนดจุดลอยตัว 64 บิตที่เซ็นชื่อ ตัวอย่าง: 23.4
  • บูลีน – กำหนดค่าบูลีน ประกอบด้วย: จริง/เท็จ
  • วันที่และเวลา – กำหนดค่าวันที่-เวลา ตัวอย่าง: 1980-01-01T00:00.00.000+00:00

ประเภทข้อมูลที่ซับซ้อนประกอบด้วย:

  • Map- แผนที่หมายถึงชุดคู่ของคีย์-ค่า ตัวอย่าง: ['สี'#'สีเหลือง', 'หมายเลข'#3]
  • กระเป๋า – เป็นชุดของชุดของทูเพิล และใช้สัญลักษณ์ '{}' ตัวอย่าง: {(เฮนรี่ 32), (กิติ 47)}
  • ทูเพิล – ทูเพิลกำหนดชุดของฟิลด์ที่เรียงลำดับ ตัวอย่าง : (อายุ 33 ปี)

Apache Oozie และ Apache ZooKeeper คืออะไร

คำตอบ : Apache Oozie เป็นตัวกำหนดตารางเวลา Hadoop ที่รับผิดชอบการจัดตารางเวลาและเชื่อมโยงงาน Hadoop เข้าด้วยกันเป็นงานเชิงตรรกะเดียว

ในทางกลับกัน Apache Zookeeper ประสานงานกับบริการต่างๆ ในสภาพแวดล้อมแบบกระจาย ช่วยประหยัดเวลาของนักพัฒนาโดยเพียงแค่เปิดเผยบริการง่ายๆ เช่น การซิงโครไนซ์ การจัดกลุ่ม การบำรุงรักษาการกำหนดค่า และการตั้งชื่อ นอกจากนี้ Apache Zookeeper ยังให้การสนับสนุนแบบสำเร็จรูปสำหรับการจัดคิวและการเลือกผู้นำ

บทบาทของ Combiner, RecordReader และ Partitioner ในการดำเนินการ MapReduce คืออะไร

คำตอบ : ตัวรวมทำหน้าที่เหมือนตัวลดขนาดเล็ก รับและทำงานกับข้อมูลจากงานแผนที่ แล้วส่งผ่านข้อมูลออกไปยังเฟสตัวลด

RecordHeader สื่อสารกับ InputSplit และแปลงข้อมูลเป็นคู่คีย์-ค่าเพื่อให้ Mapper อ่านได้อย่างเหมาะสม

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

กล่าวถึงการกระจาย Hadoop เฉพาะผู้ขายที่แตกต่างกัน

คำตอบ : ผู้ค้าหลายรายที่ขยายขีดความสามารถของ Hadoop ได้แก่:

  • ไอบีเอ็มโอเพ่นแพลตฟอร์ม
  • การกระจาย Cloudera CDH Hadoop
  • การกระจาย MapR Hadoop
  • Amazon Elastic MapReduce
  • แพลตฟอร์มข้อมูล Hortonworks (HDP)
  • ชุดข้อมูลขนาดใหญ่ที่สำคัญ
  • Datastax Enterprise Analytics
  • HDInsight ของ Microsoft Azure – การกระจาย Hadoop บนคลาวด์

เหตุใด HDFS จึงทนทานต่อข้อผิดพลาด

คำตอบ : HDFS จำลองข้อมูลบน DataNodes ต่างๆ ทำให้ทนทานต่อความผิดพลาด การจัดเก็บข้อมูลในโหนดต่างๆ จะช่วยให้ดึงข้อมูลจากโหนดอื่นได้เมื่อโหมดหนึ่งขัดข้อง

แยกความแตกต่างระหว่างสหพันธรัฐและความพร้อมใช้งานสูง

คำตอบ : HDFS Federation มีความทนทานต่อความผิดพลาดที่ช่วยให้สามารถรับส่งข้อมูลอย่างต่อเนื่องในโหนดหนึ่งเมื่อโหนดอื่นขัดข้อง ในทางกลับกัน ความพร้อมใช้งานสูงจะต้องมีเครื่องแยกกันสองเครื่องที่กำหนดค่า NameNode ที่ใช้งานอยู่และ NameNode รองในเครื่องแรกและเครื่องที่สองแยกกัน

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

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

จะค้นหาสถานะของบล็อกและความสมบูรณ์ของระบบไฟล์ได้อย่างไร

คำตอบ : คุณใช้คำสั่ง hdfs fsck / ที่ทั้งระดับผู้ใช้รูทและแต่ละไดเร็กทอรีเพื่อตรวจสอบสถานะความสมบูรณ์ของระบบไฟล์ HDFS

คำสั่ง HDFS fsck ที่ใช้งานอยู่:

 hdfs fsck / -files --blocks –locations> dfs-fsck.log

คำอธิบายของคำสั่ง:

  • -files: พิมพ์ไฟล์ที่คุณกำลังตรวจสอบ
  • –locations: พิมพ์ตำแหน่งของบล็อกทั้งหมดขณะตรวจสอบ

คำสั่งเพื่อตรวจสอบสถานะของบล็อก:

 hdfs fsck <path> -files -blocks
  • <เส้นทาง>: เริ่มการตรวจสอบจากเส้นทางที่ผ่านที่นี่
  • – บล็อก: พิมพ์บล็อกไฟล์ระหว่างการตรวจสอบ

เมื่อใดที่คุณใช้คำสั่ง rmadmin-refreshNodes และ dfsadmin-refreshNodes

คำตอบ : คำสั่งทั้งสองนี้มีประโยชน์ในการรีเฟรชข้อมูลโหนด ทั้งระหว่างการว่าจ้างหรือเมื่อการว่าจ้างโหนดเสร็จสมบูรณ์

คำสั่ง dfsadmin-refreshNodes รันไคลเอ็นต์ HDFS และรีเฟรชการกำหนดค่าโหนดของ NameNode คำสั่ง rmadmin-refreshNodes คำสั่ง เรียกใช้งานการดูแลระบบของ ResourceManager

จุดตรวจคืออะไร?

คำตอบ : Checkpoint เป็นการดำเนินการที่รวมการเปลี่ยนแปลงล่าสุดของระบบไฟล์เข้ากับ FSImage ล่าสุด เพื่อให้ไฟล์บันทึกการแก้ไขยังคงมีขนาดเล็กเพียงพอที่จะทำให้กระบวนการเริ่มต้น NameNode เร็วขึ้น จุดตรวจสอบเกิดขึ้นใน NameNode รอง

เหตุใดเราจึงใช้ HDFS สำหรับแอปพลิเคชันที่มีชุดข้อมูลขนาดใหญ่

คำตอบ : HDFS มีสถาปัตยกรรม DataNode และ NameNode ซึ่งใช้ระบบไฟล์แบบกระจาย

สถาปัตยกรรมทั้งสองนี้ให้การเข้าถึงข้อมูลที่มีประสิทธิภาพสูงผ่านคลัสเตอร์ Hadoop ที่ปรับขนาดได้สูง NameNode เก็บข้อมูลเมตาของระบบไฟล์ไว้ใน RAM ซึ่งส่งผลให้จำนวนหน่วยความจำจำกัดจำนวนไฟล์ระบบไฟล์ HDFS

คำสั่ง 'jps' ทำอะไร?

คำตอบ : คำสั่ง Java Virtual Machine Process Status (JPS) จะตรวจสอบว่า Hadoop daemons เฉพาะ รวมถึง NodeManager, DataNode, NameNode และ ResourceManager กำลังทำงานอยู่หรือไม่ คำสั่งนี้จำเป็นต้องเรียกใช้จากรูทเพื่อตรวจสอบโหนดปฏิบัติการในโฮสต์

'การดำเนินการเชิงเก็งกำไร' ใน Hadoop คืออะไร

คำตอบ : นี่เป็นกระบวนการที่โหนดหลักใน Hadoop แทนที่จะแก้ไขงานที่ช้าที่ตรวจพบ เรียกใช้อินสแตนซ์อื่นของงานเดียวกันเป็นงานสำรอง (งานเก็งกำไร) บนโหนดอื่น การดำเนินการเชิงคาดเดาช่วยประหยัดเวลาได้มาก โดยเฉพาะอย่างยิ่งในสภาพแวดล้อมที่มีภาระงานมาก

ตั้งชื่อสามโหมดที่ Hadoop สามารถเรียกใช้ได้

คำตอบ : โหนดหลักสามโหนดที่ Hadoop ทำงานประกอบด้วย:

  • โหนดสแตนด์อโลนเป็นโหมดเริ่มต้นที่เรียกใช้บริการ Hadoop โดยใช้ระบบไฟล์ในเครื่องและกระบวนการ Java เดียว
  • โหนดที่กระจายหลอกเรียกใช้งานบริการ Hadoop ทั้งหมดโดยใช้การปรับใช้ Hadoop แบบ ode เดียว
  • โหนดแบบกระจายอย่างสมบูรณ์รันบริการหลักและรองของ Hadoop โดยใช้โหนดแยกกัน

UDF คืออะไร?

คำตอบ : UDF(User Defined Functions) ให้คุณเขียนโค้ดฟังก์ชันที่คุณกำหนดเอง ซึ่งคุณสามารถใช้เพื่อประมวลผลค่าคอลัมน์ระหว่างการสืบค้น Impala

DistCp คืออะไร?

คำตอบ : DistCp หรือเรียกสั้นๆ ว่า Distributed Copy เป็นเครื่องมือที่มีประโยชน์สำหรับการคัดลอกข้อมูลขนาดใหญ่ระหว่างหรือภายในคลัสเตอร์ การใช้ MapReduce ทำให้ DistCp ใช้งานสำเนาข้อมูลจำนวนมากแบบกระจายได้อย่างมีประสิทธิภาพ รวมถึงงานอื่นๆ เช่น การจัดการข้อผิดพลาด การกู้คืน และการรายงาน

อธิบาย Metastore ใน Hive

คำตอบ : Hive metastore เป็นบริการที่เก็บข้อมูลเมตาของ Apache Hive สำหรับตาราง Hive ในฐานข้อมูลเชิงสัมพันธ์ เช่น MySQL ให้บริการ API ของ metastore ที่อนุญาตให้เข้าถึงข้อมูลเมตาได้ร้อยละ

กำหนด RDD

คำตอบ : RDD ซึ่งย่อมาจาก Resilient Distributed Datasets เป็นโครงสร้างข้อมูลของ Spark และคอลเลกชันแบบกระจายที่ไม่เปลี่ยนรูปขององค์ประกอบข้อมูลของคุณที่คำนวณบนโหนดคลัสเตอร์ต่างๆ

Native Libraries จะรวมอยู่ใน YARN Jobs ได้อย่างไร?

คำตอบ : คุณสามารถนำไปใช้ได้โดยใช้ -Djava.library. path ตัวเลือก -Djava.library. path บนคำสั่งหรือโดยการตั้งค่า LD+LIBRARY_PATH ในไฟล์ .bashrc โดยใช้รูปแบบต่อไปนี้:

 <property> <name>mapreduce.map.env</name> <value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/my/libs</value> </property>

อธิบาย 'WAL' ใน HBase

คำตอบ : Write Ahead Log(WAL) เป็นโปรโตคอลการกู้คืนที่บันทึกการเปลี่ยนแปลงข้อมูล MemStore ใน HBase ไปยังที่จัดเก็บแบบไฟล์ WAL จะกู้คืนข้อมูลนี้หาก RegionalServer ขัดข้องหรือก่อนที่จะล้างข้อมูลใน MemStore

YARN เป็นสิ่งทดแทนสำหรับ Hadoop MapReduce หรือไม่

คำตอบ : ไม่ YARN ไม่ใช่การแทนที่ Hadoop MapReduce เทคโนโลยีอันทรงพลังที่เรียกว่า Hadoop 2.0 หรือ MapReduce 2 รองรับ MapReduce แทน

อะไรคือความแตกต่างระหว่าง ORDER BY และ SORT BY ใน HIVE?

คำตอบ : แม้ว่าทั้งสองคำสั่งจะดึงข้อมูลในลักษณะที่เรียงลำดับใน Hive ผลลัพธ์จากการใช้ SORT BY อาจถูกเรียงลำดับเพียงบางส่วนเท่านั้น

นอกจากนี้ SORT BY ต้องการตัวลดขนาดเพื่อเรียงลำดับแถว ตัวลดเหล่านี้ที่จำเป็นสำหรับเอาต์พุตสุดท้ายอาจมีหลายตัว ในกรณีนี้ เอาต์พุตสุดท้ายอาจถูกสั่งบางส่วน

ในทางกลับกัน ORDER BY ต้องการเพียงหนึ่งตัวลดขนาดสำหรับคำสั่งซื้อทั้งหมดในเอาต์พุต คุณยังสามารถใช้คำหลัก LIMIT ที่ลดเวลาการจัดเรียงทั้งหมด

อะไรคือความแตกต่างระหว่าง Spark และ Hadoop?

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

นอกจากนี้ Hadoop ส่วนใหญ่อ่านและเขียนไฟล์ไปยัง HDFS ในขณะที่ Spark ใช้แนวคิด Resilient Distributed Dataset เพื่อประมวลผลข้อมูลใน RAM

ขึ้นอยู่กับเวลาแฝง Hadoop เป็นเฟรมเวิร์กการคำนวณเวลาแฝงสูงโดยไม่มีโหมดโต้ตอบในการประมวลผลข้อมูล ในขณะที่ Spark เป็นเฟรมเวิร์กการคำนวณเวลาแฝงต่ำที่ประมวลผลข้อมูลแบบโต้ตอบ

เปรียบเทียบ Sqoop และ Flume

คำตอบ : Sqoop และ Flume เป็นเครื่องมือ Hadoop ที่รวบรวมข้อมูลจากแหล่งต่างๆ และโหลดข้อมูลลงใน HDFS

  • Sqoop(SQL-to-Hadoop) แยกข้อมูลที่มีโครงสร้างจากฐานข้อมูล รวมถึง Teradata, MySQL, Oracle และอื่นๆ ในขณะที่ Flume มีประโยชน์สำหรับการแยกข้อมูลที่ไม่มีโครงสร้างจากแหล่งฐานข้อมูลและโหลดลงใน HDFS
  • ในแง่ของเหตุการณ์ที่ขับเคลื่อน Flume ขับเคลื่อนด้วยเหตุการณ์ ในขณะที่ Sqoop ไม่ได้ขับเคลื่อนด้วยเหตุการณ์
  • Sqoop ใช้สถาปัตยกรรมตัวเชื่อมต่อที่ตัวเชื่อมต่อรู้วิธีเชื่อมต่อกับแหล่งข้อมูลอื่น Flume ใช้สถาปัตยกรรมแบบอิงเอเจนต์ โดยมีโค้ดที่เขียนว่าเป็นตัวแทนที่รับผิดชอบในการดึงข้อมูล
  • เนื่องจากลักษณะการกระจายของ Flume จึงสามารถรวบรวมและรวบรวมข้อมูลได้อย่างง่ายดาย Sqoop มีประโยชน์สำหรับการถ่ายโอนข้อมูลแบบขนาน ซึ่งส่งผลให้เอาต์พุตอยู่ในไฟล์หลายไฟล์

อธิบาย BloomMapFile

คำตอบ : BloomMapFile เป็นคลาสที่ขยายคลาส MapFile และใช้ตัวกรองบานแบบไดนามิกที่ให้การทดสอบการเป็นสมาชิกอย่างรวดเร็วสำหรับคีย์

ระบุความแตกต่างระหว่าง HiveQL และ PigLatin

คำตอบ : แม้ว่า HiveQL เป็นภาษาประกาศที่คล้ายกับ SQL แต่ PigLatin เป็นภาษาการไหลของข้อมูลเชิงขั้นตอนระดับสูง

การล้างข้อมูลคืออะไร?

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

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

บทสรุป

ด้วยโอกาสในการทำงานของ Big data และ Hadoop ในปัจจุบัน คุณอาจต้องการเพิ่มโอกาสในการได้รับ คำถามและคำตอบในการสัมภาษณ์ Hadoop ในบทความนี้จะช่วยให้คุณผ่านการสัมภาษณ์ที่กำลังจะมีขึ้น

จากนั้น คุณสามารถดูแหล่งข้อมูลดีๆ เพื่อเรียนรู้ Big Data และ Hadoop

ขอให้โชคดี!