¿El PIG admite la cláusula IN?Uso de la cláusula IN con PIG FILTER
filtered = FILTER bba BY reason not in ('a','b','c','d');
o debería dividirlo en varias unidades operativas?
Gracias!
¿El PIG admite la cláusula IN?Uso de la cláusula IN con PIG FILTER
filtered = FILTER bba BY reason not in ('a','b','c','d');
o debería dividirlo en varias unidades operativas?
Gracias!
I didn't find it in any of the samples in the documentation.
usted puede conseguir mediante el uso de Y/O/NO
No, cerdo no soporta en la cláusula. Tuve una situación similar. Aunque puede usar el operador Y y la palabra clave de filtro como una alternativa. como
A = LOAD 'source.txt' AS (usuario: chararray, edad: chararray);
B = FILTRO A POR ($ 1 coincide con 'tapan') AND ($ 1 coincide con 'superman');
Sin embargo, si el número de filtrado requerido es enorme. Entonces, probablemente, solo puede crear una relación que contenga todas estas palabras clave y hacer una combinación para filtrar donde coincida la ocurrencia. Espero que esto ayude.
No filtraría todo, ya que está buscando obtener el primer campo para que coincida con Tapan y para que coincida con Superman al mismo tiempo. –
Creo que esto tiene que ser O .. en lugar de AND ... en caso de una verificación positiva de datos ... – TechBytes
Puede utilizar a continuación udf de Apache DataFu en su lugar. Esto te ayudará a evitar escribir mucho de O.
https://github.com/linkedin/datafu/blob/master/src/java/datafu/pig/util/InUDF.java
Aunque PIG ahora tiene un operador In incorporado, puede llevar al desbordamiento de la pila en la compilación de conjuntos grandes. DataFu InUDF parece ser más robusto – seanv507
Pig 0,12 añadió En operador http://www.edureka.co/blog/operators-in-apache-pig-diagnostic-operators/ ver parte inferior de notas page..release. No se han localizado en documentos oficiales (aparte del simple mención en notas de la versión)
Aquí hay un enlace a él en [los documentos oficiales] (https://pig.apache.org/docs/r0.12.0/basic.html#boolops) – Eyal
podemos utilizar en la cláusula de la siguiente manera:
A = FILTER alias_name BY col_name IN (val1, val2,...,valn);
DUMP A;
gracias, utilizaré múltiples OR. – hese
@hese BTW: Hice un proyecto sobre Pig Latin in College y la documentación -al menos en ese momento- era HORRIBLE. Espero que sea mejor ahora – Icarus
no completamente en el cerdo, solo estaba buscando corregir algunos códigos existentes. así que todavía no lo sé :) – hese