Apache Drill支持存储过程&功能

时间:2016-04-04 10:01:27

标签: apache-drill

我想知道Apache Drill是否支持存储过程和函数。如果是,请举一些例子。

1 个答案:

答案 0 :(得分:5)

您可以使用内置功能:

  • Math and Trig:ABS(x)这样的函数, CEIL(x)CEILING(x)DEGREES(x)EXP(x)FLOOR(x)LOG(x)&还有很多。检查docs

    示例:

     SELECT ABS(`integer`) FROM dfs.`/Users/drill/input2.json`;
    
  • 数据类型转换:CAST这样的功能 CONVERT_TOCONVERT_FROM等。检查docs

    示例:

    SELECT CAST('1' as DECIMAL(28, 2)) FROM (VALUES(1));
    
  • 日期/时间函数和算术: CURRENT_TIME TIMECURRENT_TIMESTAMPDATE_ADD等功能。检查docs

    示例:

    SELECT DATE_ADD(date '2015-05-15', 2) FROM (VALUES(1));
    
  • 字符串操作: CONCATILIKEINITCAPLENGTH等功能。检查docs

    示例:

    SELECT CHAR_LENGTH('Drill rocks') FROM (VALUES(1));
    
  • 汇总和汇总统计: AVG(expression)MAX(expression)COUNT(*)等功能。检查docs

    示例:

    SELECT AVG(ALL salary) FROM cp.`employee.json` WHERE employee_id IN (1139, 1140, 1141);
    
  • 处理空值的功能 COALESCE& NULLIF。检查docs

    示例:

    SELECT NULLIF(d9, d18) FROM alltypes limit 1;
    

SQL窗口函数也受支持。检查Details

嵌套数据函数适用于FLATTEN,查找重复计数等。检查Details

查询目录功能,例如MAXDIRMINDIR。检查Details

除此之外,你可以开发自己的功能。 检查Tutorials