搜索本产品文档关键词
扩展内置函数
所有文档
menu

百度流式计算 BSC

扩展内置函数

概述

为了给用户提供更简单易用的SQL编辑器,除了提供Spark SQL原生函数外,将一些比较常规常用的函数集成为SQL编辑器的内置函数。

使用扩展内置函数的方式跟原生内置函数的方式一致。

正则转换函数

sysudf_regexp_extract

使用正则表达式,将字符串解析成结构化数据。支持在表达式中设定group name,并将此作为列名。未设置列名的列将根据所在位置设置默认名字:column1、column2等。

示例

  1. 新增SQL类型的作业,具体教程请参照新增作业。
  2. 编辑作业,以下是sysudf_regexp_extract函数的SQL作业示例。

    说明:如果只是在调试环节运行SQL作业示例,无需改动示例内容,直接粘贴到作业中,进行下一步。

    Plain Text
    1CREATE table source_table(
    2    log_field string
    3) with(
    4    type = 'KAFKA',
    5    topic = 'e390b8b0673e4680b0e9a39816595c87__test_for_bsc',
    6    kafka.bootstrap.servers = 'kafka.bj.baidubce.com:9091',
    7    sslFilePath = 'kafka-key.zip',
    8    encode = 'CSV'
    9);create table sink_table(
    10    first_col string,
    11    second_col string,
    12    third_col string,
    13    forth_col string
    14) with(
    15    type = 'KAFKA',
    16    topic = 'e390b8b0673e4680b0e9a39816595c87__bsc_sink',
    17    kafka.bootstrap.servers = 'kafka.bj.baidubce.com:9091',
    18    sslFilePath = 'kafka-key.zip',
    19    encode = 'CSV'
    20);
    21insert into
    22    sink_table(first_col,second_col ,third_col,forth_col)
    23    outputmode complete
    24select
    25    temp.uri,temp.ctime,temp.idc,temp.errno
    26from
    27    (select sysudf_regexp_extract(log_field, 'uri:(?<uri>[\\w\\/]+) got a pv - ctime:(?<ctime>\\d+) - dc:(?<idc>\\w+) - errno:(?<errno>\\d+)') as temp from source_table);
  3. 点击“调试”按钮,出现弹框,测试数据选择“手动录入”的方式,将下面的数据粘贴到输入框。

    uri:/test/index got a pv - ctime:1 - dc:testdc - errno:0

  4. 点击“开始调试”,开始调试作业,运行结果如下图所示。

上一篇
模板管理
下一篇
多用户访问控制