ดำดิ่งสู่หมู



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

หนึ่งในสาเหตุใหญ่ที่สุดที่ความนิยมของ Hadoop พุ่งสูงขึ้นในช่วงเวลาที่ผ่านมาคือความจริงที่ว่าฟีเจอร์ต่างๆเช่น Pig และ Hive ทำงานอยู่ด้านบนช่วยให้ผู้ที่ไม่ใช่โปรแกรมเมอร์ที่มีฟังก์ชันการทำงานที่เคยเป็นเอกสิทธิ์ของโปรแกรมเมอร์ Java คุณสมบัติเหล่านี้เป็นผลมาจากความต้องการที่เพิ่มขึ้นสำหรับผู้เชี่ยวชาญด้าน Hadoop คุณสมบัติอื่น ๆ ที่ผู้เชี่ยวชาญ Hadoop ใช้จากพื้นหลังที่ไม่ใช่ Java ได้แก่ Flume, Sqoop, HBase และ Oozie





หากต้องการทำความเข้าใจว่าเหตุใดคุณจึงไม่จำเป็นต้องใช้ Java เพื่อเรียนรู้ Hadoop โปรดดู บล็อกนี้ .

1Pig ประวัติ



มาทำความเข้าใจว่าคุณลักษณะเหล่านี้ทำงานอย่างไร

เราทุกคนรู้ดีว่าความรู้ด้านการเขียนโปรแกรมเป็นสิ่งจำเป็นสำหรับการเขียนโค้ด MapReduce แต่ถ้าฉันมีเครื่องมือที่สามารถเข้ารหัสได้ถ้าฉันจะให้รายละเอียด? นั่นคือจุดที่ Pig แสดงพลังของกล้ามเนื้อ Pig ใช้แพลตฟอร์มที่เรียกว่า Pig Latin ซึ่งสรุปการเขียนโปรแกรมจากสำนวน Java MapReduce เป็นสัญกรณ์ซึ่งทำให้การเขียนโปรแกรม MapReduce อยู่ในระดับสูงคล้ายกับ SQL สำหรับระบบ RDBMS รหัสที่เขียนใน Pig Latin MapReduce จะถูกแปลงเป็นฟังก์ชัน MapReduce ที่เทียบเท่าโดยอัตโนมัติ ไม่น่ากลัวเหรอ? ข้อเท็จจริงอีกประการหนึ่งที่น่าสนใจก็คือต้องใช้ Pig เพียง 10 เส้นเพื่อแทนที่ Java 200 เส้น



Pig 10 บรรทัด = Java 200 เส้น

นี่ไม่เพียงหมายความว่าผู้เชี่ยวชาญที่ไม่ใช่ Java ใช้ Hadoop แต่ยังเป็นพยานถึงความจริงที่ขีดเส้นใต้ว่า Pig ถูกใช้โดยนักพัฒนาด้านเทคนิคจำนวนเท่า ๆ กัน

นอกจากนี้หากคุณต้องการเขียนโค้ด MapReduce ของคุณเองคุณสามารถทำได้ในภาษาใดก็ได้เช่น Perl, Python, Ruby หรือ C การดำเนินการพื้นฐานบางอย่างที่เราสามารถทำได้บนชุดข้อมูลโดยใช้ Pig คือ Group, Join, Filter และ Sort . การดำเนินการเหล่านี้สามารถดำเนินการกับข้อมูลที่มีโครงสร้างไม่มีโครงสร้างและกึ่งโครงสร้าง พวกเขาให้วิธีเฉพาะกิจสำหรับการสร้างและดำเนินการงาน MapReduce บนชุดข้อมูลขนาดใหญ่มาก

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

ให้ฉันแสดงการสาธิตโดยใช้ชุดข้อมูล Pig ใน Clickstream
เราจะใช้ข้อมูล Clickstream นี้และดำเนินการ Transformations, Joins และ Groupings

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

1. ประเภทของภาษาที่เว็บแอปพลิเคชันรองรับ

2. ประเภทเบราว์เซอร์

3. ประเภทการเชื่อมต่อ

4. รหัสประเทศ

วิธีสแกนหาอักขระใน java

5. ประทับเวลา

6. URL

7. สถานะผู้ใช้

8. ประเภทของผู้ใช้

จะมีลักษณะเช่นนี้กับฟิลด์ที่เหมาะสม

ด้านล่างนี้คือรายการประเภทเบราว์เซอร์ที่ผู้คนใช้งานเมื่อท่องเว็บใดเว็บไซต์หนึ่ง ในรายการ ได้แก่ เบราว์เซอร์เช่น Internet Explorer, Google Chrome, Lynx และอื่น ๆ

ประเภทการเชื่อมต่ออินเทอร์เน็ตสามารถเป็น Lan / Modem / Wifi ดูภาพด้านล่างสำหรับรายการทั้งหมด:

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

เมื่อเรารวบรวมชุดข้อมูลทั้งหมดแล้วเราจะต้องเปิด Pig’s Grunt shell ซึ่งเปิดตัวเพื่อเรียกใช้คำสั่ง Pig

สิ่งแรกที่เราต้องทำในการเปิดตัว Grunt shell คือการโหลดข้อมูล Clickstream ลงในความสัมพันธ์ของ Pig ความสัมพันธ์ไม่ใช่แค่ตาราง ด้านล่างนี้คือคำสั่งที่เราใช้ในการโหลดไฟล์ที่อยู่ใน HDFS ไปยัง Pig’s Relation

เราสามารถตรวจสอบสคีมาของรีเลชันได้โดยคำสั่งอธิบาย click_stream

ตอนนี้เราจำเป็นต้องเพิ่มไฟล์อ้างอิงซึ่งจะมีรายละเอียดเกี่ยวกับรายชื่อประเทศที่มี ID และเบราว์เซอร์ประเภทต่างๆพร้อมกับ ID ของพวกเขา

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

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

เราสามารถดำเนินการกรองเพื่อตัดทอนข้อมูลขนาดใหญ่ ผู้ใช้ประเภทต่างๆ ได้แก่ ผู้ดูแลระบบแขกหรือบอท ในการสาธิตของเราฉันได้กรองรายชื่อแขกแล้ว

หากคุณจำได้รหัสประเทศจะปรากฏใน Clickstream และเราได้โหลดไฟล์ country_ref ที่มีชื่อประเทศพร้อมกับรหัส ดังนั้นเราสามารถดำเนินการเข้าร่วมระหว่างสองไฟล์และรวมข้อมูลเพื่อรับข้อมูลเชิงลึก

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

ไม่ใช่วิทยาศาสตร์จรวดที่จะได้รับข้อมูลเชิงลึกจากข้อมูลขนาดใหญ่ นี่เป็นเพียงคุณสมบัติบางส่วนที่ฉันได้นำไปใช้และด้วยเครื่องมือเช่น Hive, Hbase, Oozie, Sqoop และ Flume มีขุมทรัพย์ของข้อมูลที่ยังไม่ต้องสำรวจ ดังนั้นบรรดาผู้ที่รั้งตัวเองจากการเรียนรู้ Hadoop ถึงเวลาเปลี่ยนแปลง

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป

กระทู้ที่เกี่ยวข้อง:

power bi vs tableau 2016

4 วิธีในการใช้ R และ Hadoop ร่วมกัน

ทุกอย่างเกี่ยวกับ Cloudera Certified Developer สำหรับ Apache Hadoop