PIG có hỗ trợ IN khoản không?Sử dụng mệnh đề IN với PIG LỌC
filtered = FILTER bba BY reason not in ('a','b','c','d');
hoặc tôi nên chia nó thành nhiều OR?
Cảm ơn!
PIG có hỗ trợ IN khoản không?Sử dụng mệnh đề IN với PIG LỌC
filtered = FILTER bba BY reason not in ('a','b','c','d');
hoặc tôi nên chia nó thành nhiều OR?
Cảm ơn!
I didn't find it in any of the samples in the documentation.
Bạn có thể nhận được bằng cách sử dụng VÀ/HOẶC/KHÔNG
Không, Pig không hỗ trợ TRÊN khoản. Tôi đã có một tình huống tương tự. Mặc dù bạn có thể sử dụng toán tử AND và lọc từ khóa làm việc xung quanh. như
A = LOAD 'source.txt' AS (người dùng: chararray, tuổi: chararray);
B = LỌC A B (NG ($ 1 đối sánh 'tapan') VÀ ($ 1 khớp với 'superman');
Tuy nhiên, nếu số lượng yêu cầu lọc là rất lớn. Sau đó, có thể, bạn chỉ có thể tạo một mối quan hệ có chứa tất cả các từ khóa này và thực hiện một phép nối để lọc bất cứ nơi nào xảy ra trùng khớp. Hy vọng điều này sẽ hữu ích.
Sẽ không lọc ra tất cả mọi thứ, vì bạn đang tìm kiếm để có được lĩnh vực đầu tiên để phù hợp với Tapan và để phù hợp với siêu nhân cùng một lúc. –
Tôi nghĩ rằng điều này phải là OR .. thay vì AND .. trong trường hợp kiểm tra dữ liệu dương .. – TechBytes
Thay vào đó, bạn có thể sử dụng udf từ Apache DataFu. Điều này sẽ giúp bạn tránh viết nhiều OR.
https://github.com/linkedin/datafu/blob/master/src/java/datafu/pig/util/InUDF.java
Mặc dù PIG hiện có một toán tử Inbuilt In, nó có thể dẫn đến tràn ngăn xếp khi biên dịch cho các tập hợp lớn. DataFu InUDF có vẻ mạnh mẽ hơn – seanv507
Pig 0.12 thêm Trong điều hành http://www.edureka.co/blog/operators-in-apache-pig-diagnostic-operators/ thấy đáy của ghi chú page..release. Chưa đặt nó trong tài liệu chính thức (ngoài đề cập đến trần trong release notes)
Đây là liên kết đến nó trong [tài liệu chính thức] (https://pig.apache.org/docs/r0.12.0/basic.html#boolops) – Eyal
Chúng ta có thể sử dụng tại khoản như sau:
A = FILTER alias_name BY col_name IN (val1, val2,...,valn);
DUMP A;
cảm ơn, tôi sẽ sử dụng nhiều OR. – hese
@hese BTW: Tôi đã thực hiện một dự án về Pig Latin trong Cao đẳng và tài liệu - ít nhất là vào thời điểm đó là HORRIBLE. Tôi hy vọng là tốt hơn bây giờ. – Icarus
không hoàn toàn vào lợn, chỉ đang tìm cách sửa một số mã hiện có. vì vậy tôi chưa biết, chưa :) – hese