Sie können benutzerdefinierte UDF dafür bereitstellen. z.B. siehe https://pig.apache.org/docs/r0.7.0/udf.html
In Schwein Skript würden Sie tun
REGISTER myudfs.jar;
Und Beispiel für BinaryAND UDF:
package myudfs;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
import org.apache.pig.impl.util.WrappedIOException;
public class BitwiseAND extends EvalFunc (Integer)
{
public String exec(Tuple input) throws IOException {
// check input tuple:
if (input == null || input.size() < 2)
return null;
try{
return (Integer)input.get(0) & (Integer)input.get(1);
}catch(Exception e){
throw WrappedIOException.wrap("Caught exception processing input row ", e);
}
}
}
Hinweis: Dies ist nicht getestet, es ist nur aus dem Schwein UDF Seite kopiert.
Wenn es keine direkte Unterstützung gibt, können Sie DEFINE verwenden, um äußere Skripte in Perl, Bash usw. aufzurufen. Erstellen Sie einfache Skripte wie bitwise_or, bitwise_and und so weiter –