ขั้นตอนในการสร้าง UDF ใน Apache Pig



Apache Pig มีฟังก์ชันที่กำหนดไว้ล่วงหน้าหลายฟังก์ชัน โพสต์มีขั้นตอนที่ชัดเจนสำหรับการสร้าง UDF ใน Apache Pig รหัสที่นี่เขียนด้วย Java และต้องใช้ Pig Library

โพสต์นี้มีขั้นตอนที่จำเป็นในการสร้าง UDF ใน Apache Pig UDF ทั้งหมดควรขยายฟังก์ชันตัวกรองและต้องมีเมธอดที่เรียกว่า exec ซึ่งมี Tuple ตรรกะที่ใช้ที่นี่คือถ้า Tuple เป็นโมฆะหรือศูนย์มันจะให้ค่าบูลีนแก่คุณ: จริงหรือเท็จ และ 'IsofAge' ใช้สำหรับตรวจสอบว่าอายุที่ระบุถูกต้องหรือไม่ ตรรกะของฟังก์ชันที่กำหนดโดยผู้ใช้ถูกเขียนด้วยโค้ด Java โดยที่ไฟล์ JAR จะถูกสร้างขึ้นแล้วส่งออก ไฟล์ JAR ถูกลงทะเบียนในภายหลัง ไฟล์ JAR เหล่านี้พบได้ในไฟล์ไลบรารีของ Apache Pig ในขณะที่โหลด

 IsOfAge คลาสสาธารณะขยาย FilterFunc { @แทนที่ publicBoolean exec (Tuple tuple) พ่นIOException {   ถ้า (tuple == null || tuple.size () == 0) {   ผลตอบแทน } ลอง{ วัตถุวัตถุ = tuple.get (0) ถ้า (วัตถุ == null) {   ผลตอบแทน } inti = (จำนวนเต็ม) วัตถุ   ถ้า (ฉัน == 18 || ฉัน == 19 || ฉัน == 21 || ฉัน == 23 || ฉัน == 27) {   returntrue } else { ผลตอบแทน }} catch (ExecExceptione) { โยนใหม่IOException (e) }}}

จะเรียกหมู UDF ได้อย่างไร?

เมื่อสร้าง UDF แล้วจะต้องใช้คำสั่งต่อไปนี้เพื่อลงทะเบียนไฟล์ JAR





ลงทะเบียน myudf.jar X = กรอง A โดย IsOfAge (อายุ)

ขั้นตอนในการสร้าง UDF ใน Pig:

มีฟังก์ชันที่กำหนดไว้ล่วงหน้าหลายอย่างใน Apache Pig นอกจากนี้เรายังมีคุณสมบัติในการสร้างฟังก์ชันของเราเองนั่นคือ User Defined Function (UDF) Pig UDF เขียนด้วย Java และต้องใช้ Pig Library เพื่อใช้คลาสที่กำหนดไว้ล่วงหน้า ห้องสมุด Apache Pig หมู 0.8.0-cdh3u0-core.jar สามารถดาวน์โหลดได้ จากอินเทอร์เน็ต

ส่งผ่านค่าและส่งผ่านโดยอ้างอิง java

คลิกที่นี่เพื่อดูขั้นตอนในการสร้าง Pig script ด้วย UDF ในโหมด HDFS



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

แปลงสตริงเป็นวันที่ใน java

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

Apache Pig Script พร้อม UDF ในโหมด HDFS



วิธีตั้งค่า classpath ใน linux

ตัวดำเนินการใน Apache Pig: ตอนที่ 1- ตัวดำเนินการเชิงสัมพันธ์

ตัวดำเนินการใน Apache Pig: ตอนที่ 2 - ตัวดำเนินการวินิจฉัย