详情页标题前

阿里云日志服务SLS数据结构-云淘科技

详情页1

本文介绍数据加工语法相关的数据结构及其说明。

基本数据结构

基本数据结构的不同类型和说明如下表所示:

类型 说明
整数 用于设置字段值或者函数的参数传递。

例如e_set("f1", 100)表示设置字段f1的值为100。

浮点 用于设置字段值或者函数的参数传递。

例如e_set("f1", 1.5)表示设置字段f1的值为1.5。

字符串(String) 字符串说明如下:

  • "abc"'abc' 相同。当字符串中包含半角双引号(”)时,可以使用'abc"xyz',也使用反斜线(\)进行反转("abc\"xyz")。

    反斜线(\)表示反转,即"\abc\xyz"表示\abc\xyz

  • r"\10.64.1.1\share\folder""\\10.64.1.1\share\folder"相同,都表示字符串\10.64.1.1\share\folder
  • 多字节字符串以unicode表示,例如中文的长度是2。
  • 正则表达式以字符串形式表示。

说明 搜索值只能使用半角双引号(””)包裹。您可以使用单引号(”)包裹外层字符串,使用半角双引号(””)包裹里层搜索值,例如:e_search("domain: '/url/test.jsp'")是错误的,正确的为e_search('domain: "/url/test.jsp"')

字节 b'abc'不同于字符串的内存编码形式,作为某些特殊函数接收或者返回类型。
Nonenull表示无。部分函数的命名参数的默认值是None,表示特定的默认行为。 说明 空字符串与None、null的数据类型不同。
列表(List)数组,例如[1,2,3,4]。

  • 某些函数参数接收的对象是列表,例如e_dict_map("dict data", ["f1", "f2", "f3"], ...)
  • 某些函数返回的结果是列表,例如当json_select选择一个数组时会返回列表。
元组(tuple) 元组,与列表功能相同。例如(1,2,3,4)
字典(Dict) 形式为{"key": "value", "k2": "v2", ...}的键值对组合。关键字一般是字符串,且不能重复,值可以为上述各种类型。以哈希方式存储, 查找时无序。

  • 事件是一种特殊的字典。
  • 某些函数接收特定格式的字典。例如{"key": [1,2,3], "ke": {"k3": "va3"} }
  • 字典结构也应用于字典映射的输入数据。
布尔(Bool) 例如TrueFalsetruefalse
表格 多列的表格结构。您可以从外部资源中加载多行CSV格式内容构建表格,或者从RDS、Logstore中加载多列数据获取。主要用于映射富化或其他高级配置场景。
日期时间对象 表示日期时间的内存对象,可以转换为Unix字符串或者格式化的时间字符串,或者传递给其他dt_类函数进行进一步转换。

事件类型

相关事件类型和说明如下:

  • 基本类型

    数据加工将日志数据以字典结构进行加工处理,例如{"__topic__": "access_log", "content": "....."}

    字典的关键字和值,对应日志的字段和值。

    说明 事件的关键字和值都是字符串且关键字不能重复。

  • 元字段 元字段主要包含如下三部分:
    • 时间字段 __time__:写入日志数据时指定的日志时间。数据类型为整数字符串,Unix标准时间格式。单位为秒,表示从1970-1-1 00:00:00 UTC计算起的秒数。
    • 主题__topic__:日志库内的日志可以通过日志主题来划分。您可以在写入时指定日志主题,并在查询时指定查询的日志主题。
    • __source__:日志的来源,例如产生该日志机器的IP地址。
  • 时间字段修改 修改时间字段的值,就是修改日志的事件时间。可以用日期时间函数对其进行更多的操作。 说明 如果删除了时间字段,在输出日志时,会取数据加工处理数据时的系统时间作为新的事件时间。
  • 标签 标签(tag)指日志存在标记,用于区分字段。标签会以__tag__:名称关键字的格式存在。
    • 如果源Logstore打开了记录外网IP功能,则会存在tag: __tag__:__receive_time__
    • 容器服务的日志会存在许多容器类的tag,例如__tag__:__container_name__
    • 可以添加、修改tag。例如添加一个tag名为type:e_set("__tag__:type", "access_log")
  • 赋值自动转换 事件的关键字和值都是字符串,因此对事件进行赋值或者设置新的字段值时,会自动对关键字和值进行字符串转换。例如:
    e_set("v1", 12.3)e_set("v2", True)

    将字段v1的值设置为字符串12.3,将字段v2值设置为字符串true。 如下为各数据类型转换为字符串示例:

    类型 样例 转换类型 转换样例
    整数 1 字符串 "1"
    浮点 1.2 字符串 "1.2"
    布尔 True 字符串 "true"
    字节 b"123" 使用UTF8解码为字符串 "123"
    元组
    • 样例1:(1, 2, 3)
    • 样例2:("a", 1)
    列表的字符串
    • 样例1:"[1, 2, 3]"
    • 样例2:"[\"a\", 1]"
    列表
    • 样例1:[1,2,3]
    • 样例2:["a", 1]
    字符串
    • 样例1:"[1, 2, 3]"
    • 样例2:"[\"a\", 1]"
    字典 {"1":2, "3":4} 字符串 "{\"1\": 2, \"3\": 4}"
    日期时间 datetime(2018, 10, 10, 10, 10, 10) ISO格式字符串 2018-10-10 10:10:10

固定标识

数据加工预设了一些固定标识,以便简化代码或便于理解:

标识 类型 说明
true 布尔 真,等价于True
false 布尔 假,等价于False
null None 无,等价于None
F_TAGS 字符串 TAG字段正则表达式,等价于"__tag__:.+"
F_META 字符串 TAG__topic____source__字段的正则表达式表示,等价于__tag__:.+|__topic__|__source__
F_TIME 字符串 __time__字段的名称,等价于__time__
F_PACK_META 字符串 pack meta字段的正则表达式表示形式,等价于"__pack_meta__|__tag__:__pack_id__"
F_RECEIVE_TIME 字符串 服务器接收日志的时间的tag字段,等价于"__tag__:__receive_time__"
C_JOB_REGION 字符串 数据加工任务所在地域ID,例如cn-hangzhou。例如e_set("job_region", C_JOB_REGION)表示将数据加工任务所在地域ID赋值给job_region字段。
C_JOB_PROJECT 字符串 数据加工任务所在Project名称,例如my-sls-project。例如e_set("job_project", C_JOB_PROJECT)表示将数据加工任务所属Project名称赋值给job_project字段。
C_JOB_NAME 字符串 数据加工任务配置名称,例如etl-1649227848-642277。例如e_set("job_name", C_JOB_NAME)表示将数据加工任务配置名称赋值给job_name字段。
C_JOB_ID 字符串 数据加工任务运行ID,例如73b96061b8c1c2101d558139bf641ea9。例如e_set("job_id", C_JOB_ID)表示将数据加工任务运行ID赋值给job_id字段。

JSON对象

JSON对象是指JSON表达式函数json_select或者json_parse解析提取后的对象,其由基本数据结构组成。输入字符串转换成对应JSON对象的形式如下表所示:

字符串 JSON对象 实际类型
1 1 整数
1.2 1.2 浮点
true True 布尔
false False 布尔
"abc" "abc" 字符串
null None None
["v1", "v2", "v3"] ["v1", "v2", "v3"] 列表
["v1", 3, 4.0] ["v1", 3, 4.0] 列表
{"v1": 100, "v2": "good"} {"v1": 100, "v2": "good"} 字典
{"v1": {"v11": 100, "v2": 200}, "v3": "good"} {"v1": {"v11": 100, "v2": 200}, "v3": "good"} 字典

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/164354.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLS开启域间分析-云淘科技

    开启域间分析后,系统将自动创建数据加工任务,生成具有网段信息的VPC流日志,用于分析不同网段之间的流量情况。 前提条件 已配置Flowlog日志中心。具体操作,请参见设置Flowlog日志中心。背景信息日志服务已预设多个网段,如下图所示。当您需要分析不同网段之间的流量情况时,只需一键开启域间分析功能即可。 如果预设网段未满足您的需求,您可以自定义添加网段。 …

    2023年12月10日
  • 阿里云日志服务SLSCLI概述-云淘科技

    为满足越来越多的自动化日志服务配置需求,日志服务提供命令行工具CLI(Command Line Interface)。 主要功能 日志服务命令行工具CLI的主要功能包括: 支持大部分的日志服务REST接口。例如管理Project、Logstore、机器组、消费组和Logtail配置等。 支持多账号,便于跨地域操作日志。 支持基本查询和拉取日志。 支持Elas…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云RDS数据库功能概览-云淘科技

    本文介绍RDS PostgreSQL各版本支持的功能,便于您根据自身需要选购实例或查询已购实例的功能。 在售版本功能概览 功能 PostgreSQL 16 PostgreSQL 15、14 PostgreSQL 13 PostgreSQL 12、11 高可用系列 基础系列 高可用系列 基础系列 高可用系列 基础系列 高可用系列 基础系列 包年包月/按量付费 …

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云云原生大数据计算服务 MaxCompute参考:渐进式计算-云淘科技

    渐进式计算(Progressive Computing)是处于传统的流计算和批处理之间的一种计算方式,具有高资源利用率和低延迟的优势。本文为您介绍渐进式计算的基础配置、作业调优配置以及使用示例。 背景信息 渐进式计算能够处理增量数据并维护中间结果数据,提高了在计算资源消耗、执行时间调度、查询延迟、数据处理粒度等方面的灵活性。例如在范围查询(Range Que…

    2023年12月10日
  • 阿里云大数据开发治理平台 DataWorks为什么会空跑-云淘科技

    本文为您介绍空跑的相关问题。 什么是空跑? 为什么会空跑? 场景一:周月实例空跑周期 场景二:实时生成的过期实例 场景三:设置成功实例 场景四:实例属性为空跑 场景五: 临时工作流中未被选择的实例 日调度任务空跑排查方法 什么是空跑? 空跑的实例任务状态显示成功(正常调度),运行日志为空,无执行时长,不会实际跑数据。 为什么会空跑? 场景一:周月实例空跑周期…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。