机器数据分析平台

  • 机器数据分析平台 > 产品手册 > SPL参考手册 > lookup

    lookup

    最近更新时间:2019-11-07 15:09:42

    lookup命令可以将外部表格的某些字段与当前搜索结果的某些字段对应(类似inner join),显示当前搜索结果中与lookup表格match的行,并添加有意义的值,比如给搜索结果中的local_user字段添加对应的local_age.

    语法

    lookup "<url>" <csv_field> as <log_field>, ... output [as ], ...

    当前lookup命令可关联的外部资源仅支持带有csv文件的url地址,比如"http://pvtbywm5i.bkt.clouddn.com/LookupTestData.csv",csv文件中的第一行应为表头(字段名称)。

    注意url要加双引号

    参数说明:

    • 是我们去下载csv 文件的地址,正确的csv格式应该是逗号分隔的数据文件,第一行是表头标志每一列的列名。
    • <csv_field> as <log_field> 代表,使用日志内字段 <log_field> 值去匹配文件中字段 <csv_field> 值,如果相等则认为匹配命中。
    • output [as ] 代表输出csv 中的字段作为结果,并且字段名重命名为

    示例

    前提:

    • url获取的表为lookupTable,当前搜索结果为thisTable
    • lookupTable 中有 user, age, states 字段
    • thisTable 中有 user, local_user, age 字段
    lookup "http://pvtbywm5i.bkt.clouddn.com/LookupTestData.csv" user as local_user output age as local_age  
    

    若thisTable 某一行t的local_user字段等于lookupTable某一行l的user字段,我们返回thisTable中match的行,并在thisTable里新增一个local_age字段,将lookupTable里行l的age字段的值加到thisTable的 local_age字段中。

    lookup "http://pvtbywm5i.bkt.clouddn.com/LookupTestData.csv" user output states,age
    

    若thisTable 某一行t的user字段等于lookupTable 某一行l的user字段,我们返回thisTable中match的行,并在thisTable里新建一个states字段,将lookupTable行l的states的值加到thisTable行t中, 并将lookupTable行l的age字段覆盖thisTable行t的age字段(因为thisTable 已经有age字段)。

    以上内容是否对您有帮助?
  • Icon helper
    Icon free helper
    Close