Bài đăng này chứa bước cần thiết bắt buộc để tạo UDF trong Apache Pig. Tất cả UDF phải mở rộng một chức năng Bộ lọc và phải chứa một phương thức được gọi là execute, có chứa Tuple. Logic được áp dụng ở đây là nếu Tuple là null hoặc 0, nó sẽ cung cấp cho bạn giá trị Boolean: True hoặc False. Và ‘IsofAge’ là để kiểm tra xem tuổi đã cho có chính xác hay không. Logic của Hàm do người dùng xác định được viết bằng mã Java, nơi tệp JAR sẽ được tạo và sau đó xuất. Tệp JAR sau đó được đăng ký. Các tệp JAR này được tìm thấy trong các tệp thư viện của Apache Pig tại thời điểm tải.
public class IsOfAge mở rộng FilterFunc { @Ghi đè publicBoolean executive (Tuple tuple) throwsIOException { if (tuple == null || tuple.size () == 0) { returnfalse } thử{ Đối tượng đối tượng = tuple.get (0) if (object == null) { returnfalse } đối tượng inti = (Integer) if (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { sự trở lại } khác { returnfalse }} catch (ExecExceptione) { némnewIOException (e) }}}
Làm thế nào để gọi một UDF lợn?
Khi một UDF được tạo, lệnh sau phải được sử dụng để đăng ký tệp JAR.
đăng ký myudf.jar X = bộ lọc A theo IsOfAge (tuổi)
Các bước tạo UDF trong Pig:
Có nhiều hàm được xác định trước trong Apache Pig. Chúng tôi cũng có tính năng tạo chức năng của riêng mình đó là Chức năng do người dùng xác định (UDF). Pig UDF được viết bằng Java và điều này yêu cầu Thư viện Pig sử dụng các lớp được xác định trước. Thư viện Apache Pig pig-0.8.0-cdh3u0-core.jar có thể được tải xuống từ internet.
đồng bộ hóa trong java là gì
Nhấp vào đây để biết các bước tạo tập lệnh Pig với UDF ở Chế độ HDFS.
Có một câu hỏi cho chúng tôi? Đề cập đến họ trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.
khi nào sử dụng cái này. trong java
Bài viết liên quan:
Apache Pig Script với UDF ở chế độ HDFS
làm thế nào để chuyển đổi một double thành một int
Các toán tử trong Apache Pig: Phần 1- Các toán tử quan hệ
Toán tử trong Apache Pig: Phần 2 - Toán tử chẩn đoán