本文介绍: – 5.图片:Webp、BMP、PCX、TIF、GIF、JPEG、TGA、EXIF、FPX、SVG、PSD、CDR、PCD、DXF、UFO、EPS、AI、PNG、HDRI、RAW、WMF、FLIC、EMF、ICO。,GET_JSON_OBJECT(data_tmp,’$.op’) AS op –随机选人 选项 op(清除(NULL)、A、B、C) op(不随机(0)、1、2、3)

由于日志数据存在ES项目里,需要从ES中获取日志进行分析,使用SQL数据进行处理,如下:

select

     traceid–    STRING   COMMENT ‘流程id’,

    ,appnum  —   BIGINT   COMMENT ‘迭代号’,

    ,appversion –STRING   COMMENT ‘APP版本’,    

    ,appcode   — STRING   COMMENT ‘应用编码’,

    ,type     —  STRING   COMMENT ‘类型’,

    ,spanid   —  STRING   COMMENT ‘模块id’,  

    ,apptype   — STRING   COMMENT ‘应用类型详情见定义’,

    ,eventtime — DATETIME COMMENT ‘日期’,

    ,name      — STRING   COMMENT ‘名称’,

    ,id        — STRING   COMMENT ‘id’,

    ,theid     — STRING   COMMENT ‘theId’  

    ,preid

    ————-data—————-    

    ,GET_JSON_OBJECT(data_tmp,’$.allInOne’) AS allInOne  

    ,GET_JSON_OBJECT(data_tmp,’$.class’)      AS class

    ,GET_JSON_OBJECT(data_tmp,’$.classCode’)      AS classCode

    ,GET_JSON_OBJECT(data_tmp,’$.deviceId’)     AS deviceId

    ,GET_JSON_OBJECT(data_tmp,’$.grade’)   AS grade

    ,GET_JSON_OBJECT(data_tmp,’$.gradeCode’) AS gradeCode

    ,GET_JSON_OBJECT(data_tmp,’$.handleTime’) AS handleTime

    ,GET_JSON_OBJECT(data_tmp,’$.heigth’) AS heigth

    ,cast(ipint(GET_JSON_OBJECT(json_build,’$.ip’)) as string) AS ipAddr

    ,GET_JSON_OBJECT(data_tmp,’$.isSuccess’) AS isSuccess     –isSuccess(1.是 0否)

    ,GET_JSON_OBJECT(data_tmp,’$.loginMode’) AS loginMode     — 登陆模式 1 游客登陆 2 账户登陆

    ,GET_JSON_OBJECT(data_tmp,’$.loginType’) AS loginType     — 登陆方式 1:在线登陆 2 离线登陆

    ,GET_JSON_OBJECT(data_tmp,’$.school’) AS school

    ,GET_JSON_OBJECT(data_tmp,’$.schoolCode’) AS schoolCode  

    ,GET_JSON_OBJECT(data_tmp,’$.width’) AS width

    ,GET_JSON_OBJECT(data_tmp,’$.subject’) AS subject

    ,GET_JSON_OBJECT(data_tmp,’$.subjectCode’) AS subjectCode

    ,GET_JSON_OBJECT(data_tmp,’$.classTime’) AS classTime

    ,GET_JSON_OBJECT(data_tmp,’$.reason’) AS reason

    ,GET_JSON_OBJECT(data_tmp,’$.operateVersion’) AS operateVersion  

    ———-新增———

    ,CASE WHEN GET_JSON_OBJECT(data_tmp,’$.userId’)  is not NULL THEN GET_JSON_OBJECT(data_tmp,’$.userId’)

          WHEN GET_JSON_OBJECT(data_tmp,’$.teacherCode’) is not null THEN  GET_JSON_OBJECT(data_tmp,’$.teacherCode’)

          ELSE  GET_JSON_OBJECT(data_tmp,’$.userId’)

     END  AS userId          

    ,GET_JSON_OBJECT(data_tmp,’$.userName’) AS userName

    ,GET_JSON_OBJECT(data_tmp,’$.userType’) AS userType

    ,GET_JSON_OBJECT(data_tmp,’$.account’) AS account

    ,GET_JSON_OBJECT(data_tmp,’$.courseId’) AS courseId  

    ,GET_JSON_OBJECT(data_tmp,’$.pageName’) AS pageName  

    ,GET_JSON_OBJECT(data_tmp,’$.pageTitle’) AS pageTitle  

    ,CASE    WHEN GET_JSON_OBJECT(data_tmp,’$.describe’) is not NULL  THEN GET_JSON_OBJECT(data_tmp,’$.describe’)

             WHEN GET_JSON_OBJECT(data_tmp,’$.eventDesc’) is not NULL  THEN GET_JSON_OBJECT(data_tmp,’$.eventDesc’)

             ELSE  ”

             END AS  describes    

    ,GET_JSON_OBJECT(data_tmp,’$.source’) AS source      

    ,GET_JSON_OBJECT(data_tmp,’$.topDistance’) AS topDistance  

    ,GET_JSON_OBJECT(data_tmp,’$.size’) AS sizes  

   —————json_build——————–

    ,GET_JSON_OBJECT(json_build,’$.sysVersion’)   AS sysVersion    

    ,GET_JSON_OBJECT(json_build,’$.cpuType’)     AS cpuType  

    ,GET_JSON_OBJECT(json_build,’$.memory’) AS memory

    ,GET_JSON_OBJECT(json_build,’$.netType’) AS netType

    ,GET_JSON_OBJECT(json_build,’$.sysName’) AS sysName

    ,GET_JSON_OBJECT(json_build,’$.deviceModel’) AS deviceModel

    ,GET_JSON_OBJECT(json_build,’$.deviceNo’) AS deviceNo  

   ——————-新增——————–

   ,GET_JSON_OBJECT(json_build,’$.screenHeight’) AS screenHeight  

   ,GET_JSON_OBJECT(json_build,’$.screenWidth’) AS screenWidth  

   ,GET_JSON_OBJECT(json_build,’$.browserName’) AS browserName

   ,GET_JSON_OBJECT(json_build,’$.browserVersion’) AS browserVersion

   ,GET_JSON_OBJECT(json_build,’$.browserWidth’) AS browserWidth

   ,GET_JSON_OBJECT(json_build,’$.browserHeight’) AS browserHeight

   ,GET_JSON_OBJECT(json_build,’$.ip’) AS ip

   ,GET_JSON_OBJECT(json_build,’$.remoteIp’) AS remoteIp

   ,GET_JSON_OBJECT(data_tmp,’$.actionName’) AS actionName

   ,GET_JSON_OBJECT(data_tmp,’$.finishStatus’) AS finishStatus

   ,GET_JSON_OBJECT(data_tmp,’$.isFirst’) AS isFirst

   ,GET_JSON_OBJECT(data_tmp,’$.bankType’) AS bankType

   ,GET_JSON_OBJECT(data_tmp,’$.book’) AS book

   ,GET_JSON_OBJECT(data_tmp,’$.mode’) AS mode

   ,GET_JSON_OBJECT(data_tmp,’$.chapter’) AS chapter

   ,GET_JSON_OBJECT(data_tmp,’$.result’) AS result

   ,GET_JSON_OBJECT(data_tmp,’$.knowledgeCount’) AS knowledgeCount

   ,GET_JSON_OBJECT(data_tmp,’$.questCount’) AS questCount

   ,GET_JSON_OBJECT(data_tmp,’$.scoreType’) AS scoreType

   ,GET_JSON_OBJECT(data_tmp,’$.scoreModule’) AS scoreModule

   ,GET_JSON_OBJECT(data_tmp,’$.appName’) AS appName

   ,GET_JSON_OBJECT(data_tmp,’$.voteNumber’) AS voteNumber

   ,GET_JSON_OBJECT(data_tmp,’$.perVoteNubmer’) AS perVoteNubmer

   ,GET_JSON_OBJECT(data_tmp,’$.type’) AS attributeType

— 新增 2022-12-09 —-

   ,GET_JSON_OBJECT(data_tmp,’$.loginTypeName’) AS loginTypeName

   ,GET_JSON_OBJECT(data_tmp,’$.name’) AS noteName

   ,GET_JSON_OBJECT(data_tmp,’$.notes’) AS notes

   ,GET_JSON_OBJECT(data_tmp,’$.pageNum’) AS pageNum

   ,GET_JSON_OBJECT(data_tmp,’$.color’) AS color  

   ,GET_JSON_OBJECT(data_tmp,’$.event’) AS event

   ,GET_JSON_OBJECT(data_tmp,’$.date’) AS  switchDate

   ,GET_JSON_OBJECT(data_tmp,’$.input’) AS  inputValue  

   ,GET_JSON_OBJECT(data_tmp,’$.title’) AS  title

   ,GET_JSON_OBJECT(data_tmp,’$.fileName’) AS  fileName   –文件名

— 1.文档:doc、docx、PDF

— 2.音频:WAV、ape、AIFF、CD、AU、MP3、WMA、VQF、FLAC、MIDI、Ogg、U-Law、VOC、aac、RA/.RM/.RAM

— 3.视频:avi、MOV/.QT、MKV、MP4、WMV、MPEG、BD、HDVD、RMVB、PROPER、R5、Watermarks、TS、DAT、SWF、ASF、3GP、FLV、HDRIP、IMAX

— 4.课件:ppt、pptx、pps、ppsx、ppa、ppam、pot、potx、thmx

— 5.图片:Webp、BMP、PCX、TIF、GIF、JPEG、TGA、EXIF、FPX、SVG、PSD、CDR、PCD、DXF、UFO、EPS、AI、PNG、HDRI、RAW、WMF、FLIC、EMF、ICO

— 6.表格:xls、csv、CSS、XPS、xlsm、et、

— 7.压缩包:RAR、ZIP、ARJ、Z、LZH、JAR

— 8.其他

   ,GET_JSON_OBJECT(data_tmp,’$.fileId’) AS  fileId      

   ,GET_JSON_OBJECT(data_tmp,’$.fileNames’) AS  fileNames  

   ,GET_JSON_OBJECT(data_tmp,’$.beginDate’) AS  beginDate    

   ,GET_JSON_OBJECT(data_tmp,’$.endDate’) AS  endDate  

   ,GET_JSON_OBJECT(data_tmp,’$.questionId’) AS  questionId   –题号

   ,GET_JSON_OBJECT(data_tmp,’$.packageName’) AS  packageName  

   ,GET_JSON_OBJECT(data_tmp,’$.versionName’) AS  versionName    

   ,GET_JSON_OBJECT(data_tmp,’$.versionCode’) AS  versionCode

   ,GET_JSON_OBJECT(data_tmp,’$.jobId’) AS  jobId

   ,GET_JSON_OBJECT(data_tmp,’$.answer’) AS  answer

   ,GET_JSON_OBJECT(data_tmp,’$.wrong’) AS  wrong    

   ,GET_JSON_OBJECT(data_tmp,’$.correct’) AS  correct

   ,GET_JSON_OBJECT(data_tmp,’$.unanswered’) AS  unanswered  

   ,GET_JSON_OBJECT(data_tmp,’$.finishNumber’) AS  finishNumber  

   ,GET_JSON_OBJECT(data_tmp,’$.totalNumber’) AS  totalNumber  

   ,GET_JSON_OBJECT(data_tmp,’$.word’) AS  word  

   ,GET_JSON_OBJECT(data_tmp,’$.msg’) AS  msg  

   ,GET_JSON_OBJECT(data_tmp,’$.count’) AS  impCount  

   ,GET_JSON_OBJECT(json_build,’$.pageHeight’) AS pageHeight   –页面高度

   ,GET_JSON_OBJECT(data_tmp,’$.answers’) AS  answers –答题情况

   –新增–

   ,GET_JSON_OBJECT(data_tmp,’$.num’) AS  num –题目数量

   ,GET_JSON_OBJECT(data_tmp,’$.op’) AS  op –随机选人 选项 op(清除(NULL)、A、B、C) op(不随机(0)、1、2、3)

   ,GET_JSON_OBJECT(data_tmp,’$.leaveTime’) AS  leaveTime –收卷倒计时

   ,GET_JSON_OBJECT(data_tmp,’$.examId’) AS  examId –考试id

   ,GET_JSON_OBJECT(data_tmp,’$.id’) AS  idCode –id,用英文逗号隔开,组code

   ,GET_JSON_OBJECT(data_tmp,’$.code’) AS  code –对调学生

   ,GET_JSON_OBJECT(data_tmp,’$.rol’) AS  rol –对调学生 位置rol

   ,GET_JSON_OBJECT(data_tmp,’$.col’) AS  col –对调学生 位置col

   ,GET_JSON_OBJECT(data_tmp,’$.stage’) AS  stage –学段

   ,GET_JSON_OBJECT(data_tmp,’$.version’) AS  versions –学段

—    ,GET_JSON_OBJECT(data_tmp,’$.type’) AS  见 attributeType –类型 type(1.批注作答 2.画板作答)

  — ,GET_JSON_OBJECT(data_tmp,’$.actionName’) AS actionName      –活动名称

  — ,GET_JSON_OBJECT(data_tmp,’$.answer’) AS  answer    –答案

   –,GET_JSON_OBJECT(data_tmp,’$.color’) AS  color –颜色

  — ,GET_JSON_OBJECT(data_tmp,’$.finishNumber’) AS  finishNumber –找到的数量

   –,GET_JSON_OBJECT(data_tmp,’$.totalNumber’) AS  totalNumber –总词数

  — ,GET_JSON_OBJECT(data_tmp,’$.word’) AS  word –未答数

  — `completionStatus` varchar(100) DEFAULT NULL COMMENT ‘完成情况’,

 — ,GET_JSON_OBJECT(data_tmp,’$.event’) AS  event –收起/展开事件

  –,GET_JSON_OBJECT(data_tmp,’$.fileId’) AS  fileId –云端文件ID

  –,GET_JSON_OBJECT(data_tmp,’$.fileNames’) AS  fileNames –文件名列表

  –,GET_JSON_OBJECT(data_tmp,’$.fileName’) AS  fileName –文件名

  –,GET_JSON_OBJECT(data_tmp,’$.date’) AS    dates –日期筛选类型

  –,GET_JSON_OBJECT(data_tmp,’$.result’) AS  isfinish –完成情况 result:true/false

 — ,GET_JSON_OBJECT(data_tmp,’$.input’) AS  inputValue –输入值

  –,GET_JSON_OBJECT(data_tmp,’$.jobId’) AS  jobId –作业ID

  –,GET_JSON_OBJECT(data_tmp,’$.name’) AS  name –名称

  –,GET_JSON_OBJECT(data_tmp,’$.questionId’) AS  questionId –题目ID

  –`jobType` varchar(50) DEFAULT NULL COMMENT ‘作业类型’,

  –`noteName` varchar(50) DEFAULT NULL COMMENT ‘笔记本名称’,

  –`signName` varchar(100) DEFAULT NULL COMMENT ‘标签名’,  

  –`switchDate` datetime DEFAULT NULL COMMENT ‘日期切换日期值’,

  –`thickNess` varchar(10) DEFAULT NULL COMMENT ‘粗细值’,

  –`timeSlot` varchar(10) DEFAULT NULL COMMENT ‘时间段’,

  –`toolName` varchar(50) DEFAULT NULL COMMENT ‘工具名称’,

  –`wrongBookName` varchar(50) DEFAULT NULL COMMENT ‘错题本名称’,

—  ,GET_JSON_OBJECT(json_build,’$.loginTypeName’) AS appcode

—    ,GET_JSON_OBJECT(json_build,’$.appVersion’) AS appVersion

,createtime  –创建时间

from (

select  theid,

                    id,

                    name,

                    eventtime,

                    apptype,

                     regexp_replace(regexp_replace(regexp_replace(build,’^\[‘,”),’\]$’,”),’},\{‘,’}|{‘) AS json_build,

                    spanid,

                    type,

                    appcode,

                    regexp_replace(regexp_replace(regexp_replace(data,’^\[‘,”),’\]$’,”),’},\{‘,’}|{‘) AS json_data,

                    appversion,

                    appnum,

                    preid,

                    traceid,

                    createtime

                     from  dw_es_action_log_inc_new

                    WHERE

                   —  DATETRUNC(eventtime,’hh’) >=  DATETRUNC(dateadd(TO_DATE(‘${cyctime}’,’yyyymmddhhmiss’), -1, ‘hh’),’hh’)     or    

                   

                     DATETRUNC(createtime,’DD’) >=  DATETRUNC(TO_DATE(‘${bizdate}’,’yyyymmdd’),’DD’)  –测试使用            

) a0

lateral view explode(split(json_data,’\|’)) b AS data_tmp;

从中可以发现,针对很多不同格式的 数据,可以进行这种分解处理。

select bh,bjmc,nj,xxbm,xxmc,xnid,xn,xnmc,xd,rnk from (SELECT bh,bjmc,nj,xxbm,xxmc,xnid,xn,xnmc,xd, Row_Number() OVER (partition by bh,xxbm ORDER BY nj desc) rnk

FROM dw_class where  zt=’1′  and  bjlxm = ‘1’ and xnid <> ” ) aa where rnk=’1′  

同时可以使用Row_Number,进行数据处理,获取最大年级数据。

原文地址:https://blog.csdn.net/m0_37845836/article/details/135841046

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_62605.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注