2. Impala User-‐defined FuncAons (UDFs) • Tuple => Scalar value • Substring • sin, cos, pow, … • Machine-‐learning models • Supports Hive UDFs (Java) • RelaAvely unpleasurable • Slower • Impala (naAve) UDFs • C++ interface designed for efficiency • Similar to Postgres UDFs • Runs any LLVM-‐compiled code 2 4. LLVM: C++ example 4 bool StringEq(FunctionContext* context,! const StringVal& a