更新时间:2021-12-17 GMT+08:00
分享

CHR/MR数据

数据类型为gnodeb-sig、enodeb-sig。

gnodeb-sig

  • 通用配置
    • 配置示例

    • 配置说明
      表1 参数配置说明

      区域

      区域说明

      参数

      参数说明

      A

      配置版本区间及预抽取SQL语句。

      start/end

      必填项。

      起止版本号。

      viewSql

      选填项。

      自定义预抽取SQL语句。

      B

      配置事件。

      id

      必填项。

      事件编号。

      nam

      选填项。

      事件名称。

      C

      配置抽取字段。

      value

      必填项。

      值字段,支持四则运算和dalab平台提供的公共计算函数。

      name

      选填项。

      别名,保存到csv文件的列名。
      说明:

      如果不填写,则根据value值生成对应别名。

      type

      字段类型,固定值为“string”。

      只填需要抽取事件body里的字段名。抽取任务默认会取head里的mrTime、neId、cellid、callid添加到结果数据里。

    • 公共头执行语句

      commonHeads=dalab5gSigTime(logHead.mrTime) as time,logHead.neId as gnodebid,logHead.cellid,logHead.callid

    • 抽取结果

  • 特殊配置
    1. viewSql使用

      xml文件配置最终转换为Spark SQL语句执行抽取任务,支持添加预抽取SQL语句处理特殊字段。

      通过最后执行SQL语句构造对应代码。

      "select $vsnSql from (select ${vsnInfo.viewSql} from $tmpViewName $sufix"

      • 配置示例

      • 配置说明
        表2 参数配置说明

        参数

        说明

        $vsnSql

        根据所有field标签生成的抽取语句。

        ${vsnInfo.viewSql}

        预抽取语句。

      • 最终执行SQL语句

        select time as time,cellId as cellId,PhysCellId as phys_cellid,MsgItfType as MsgItf_type,SSBResults.SsbIndex as SsbIndex from (select dalab5gSigTime(logHead.mrTime) as time,logHead.cellId as cellId, logBody.PhysCellId as PhysCellId, logBody.MsgItfType as MsgItfType,explode(logBody.SSBResults) as SSBResults from viewV100R016C00SPC0001612168708730 )

      • 抽取结果

    2. array数组抽取
      • 配置示例

      • 配置说明
        表3 参数配置说明

        区域

        参数

        说明

        A

        <array></array>

        标签配置数组。

        length

        必填项。

        数组长度。

        indexName

        必填项。

        数组下标变量名。

        B

        -

        数组中单个元素的配置,通过下标变量名区分。

      • 抽取结果

      • 抽取结果数据结构示例(eventID=16809986)

  • 单事件数据schema信息展示

    借助FMA工具查看对应事件的schema信息。

    • 示例事件

      PERIOD_INTRA_FREQ_MEASUREMENT= 16777225

    • 所有事件公共头信息

    • 事件IntraFreqMR(16777225)主体信息

enodeb-sig

  • 配置示例

  • 配置说明
    表4 参数配置说明

    参数

    说明

    name

    指标别名,将作为结果集的列名,可以为空。

    value

    原始数据里的“事件.字段”。

    type

    固定值为“string”。

  • 抽取结果

    包含公共字段:"ulCallId"、"ulEutranCellId"、"DATE"、"TIME"

  • Array类型的字段等复杂字段可以使用Spark函数和平台提供的函数。

    模板支持Spark函数,模板示例如下:

    平台提供多个自定义函数。
    • dalabOneList(List, List.field)
      • 说明

        在输出结果中,将Array中的单列多个元素,默认用‘|’连接。

      • 模板示例

      • 使用样例

        IntraFreqMR[(1,2,3),(4,5,6)] --> dalabOneList("IntraFreqMR", field1)

      • 输出结果

        输出:"1|4"

    • dalabTwoList(outerList, innerList.field)
      • 说明

        将双层Array组装为字符串,默认内层用‘#’号,外层用‘|’连接。

      • 使用样例

        Nss[Ssb[(1,2,3),(4,5,6)], Ssb[(7,8,9),(10,11,12)]] --> dalabTwoList(Nss, 'Ssb.field1')

      • 输出结果

        输出:"1#4|7#10"

    • dalabConcatList(flag, ListField, array(field1,field2...))
      • 说明

        将Array中的一行多列,用flag连接,并且多个元素之间默认用‘|’连接。

      • 模板示例

      • 使用样例

        IntraFreqMR[(1,2,3),(4,5,6)] -> dalabConcatList('_', "IntraFreqMR", array(field1,field2,field3))

      • 输出结果

        输出:"1_2_3|4_5_6"

    • dalabTimeFunc(date: Int, time: Int)
      • 说明

        日期时间转换函数,输出时间格式为yyyy-MM-dd HH:mm:ss,时区为UTC。

      • 模板示例

      • 使用样例

        DATE(132384259), TIME(983337)-> dalabTimeFunc(DATE,TIME)

      • 输出结果

        “2020-06-03 23:01:41”

    • dalabDateFormat(date: Int)
      • 说明

        日期转换函数,输出时间格式为yyyy-MM-dd,时区为UTC

      • 模板示例

      • 使用样例

        DATE(132384259)-> dalabDateFormat(DATE)

      • 输出结果

        "2020-06-03"

    • dalabTimeFormat(time: Int)
      • 说明

        日期转换函数,输出时间格式为yyyy-MM-dd,时区为UTC

      • 模板示例

      • 使用样例

        TIME(983337) -> dalabTimeFormat (TIME)

      • 输出结果

        “23:01:41”

相关文档