一、基本资料

1、官方文档

https://prestodb.github.io/docs/current/sql/select.html

二、常用命令

1、kill任务,登录presto客户端

CALL system.runtime.kill_query(query_id => '20220317_083239_04518_ik27u', message => 'Using too many resources');

2、日期函数

--前7天
select date_format(date_add('day', -7, CURRENT_DATE), '%Y%m%d')
--前1天
select format_datetime(date_add('day', -1, CURRENT_DATE), 'yyyyMMdd')
--获取前一个小时
select date_format(current_timestamp - interval '1' hour,'%H')
--日期转data
select from_unixtime(unix_timestamp('20220324','yyyyMMdd'),'yyyy-MM-dd') as dt
--日期转周
select weekofyear('2022-03-24') as dt

3、字符串处理

--字符串截取
select substring('20220324',0,4) as dt
--字符串拼接
select concat('a','b') as str

4、分区操作

--查看分区
show partitions bdg_inf.table1
--删除分区
alter table bdg_inf.table1 drop partition(dt=20241122);

三、分析Sql

1、提取出filter.conditions数组中,field字段内容,并且只展示.之后的字符串[app_version、page_version]

数据内容:

{
"filter": {
"conditions": [{
"field": "event.app_version",
"function": "equal",
"params": ["", "4.99.20", "6.2.0.0.1"]
}, {
"field": "event.page_version",
"function": "equal",
"params": ["", "14.1"]
}],
"relation": "or"
},
"gid": "compass",
"t": "m3r2sww2"
}

执行sql:

select field_last,count(1) as request_num from (
SELECT
json_extract_scalar(c.value, '$.field') AS field
,regexp_extract(json_extract_scalar(c.value, '$.field'), '.*\.(.*)', 1) AS field_last
FROM
table
CROSS JOIN
UNNEST(CAST(json_extract(params, '$.filter.conditions') AS ARRAY<JSON>)) AS c (value)
WHERE
dt>= '20241021' and dt<= '20241121'
AND event_id = '777'
AND page_url in ('/eventAnalysis')
AND json_format(json_extract(params, '$.filter')) <> '{}'
-- AND md5_log='12222222'
)
group by field_last

Presto常用命令的更多相关文章

  1. Presto 常用配置及操作

    一.介绍 Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节. Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处 ...

  2. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  3. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  4. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  5. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  6. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  7. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  8. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

  9. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  10. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

随机推荐

  1. 数据同步之DataX

    目前业务中需要进行数据同步, 考虑使用datax数据同步方式替换掉现有的同步方式 业务场景: 即将业务中每天生成的日志表中的数据部分字段同步到自己的库中,进行后台数据的查询 起因: 之前"大 ...

  2. C#/.NET/.NET Core优秀项目和框架2024年11月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍.功能特点.使用方式以及部分功能 ...

  3. OSG开发笔记(三十六):osg3.4.0基于windows平台msvc2017x64编译器编译并移植Demo

    前言   本篇编译osg3.4.0的msvc2017x64版本,之前使用的都是mingw32版本.   OSG编译 步骤一:下载解压   下载3.4.0版本.   步骤二:使用cmake配置      ...

  4. windows 上部署 kafka 做测试

    1.下载 需要下载 zookeeper 和kafka 我下载的版本是 2.部署 2.1 部署 zookeeper 2.1.1 新建配置文件 zoo.cfg 内容为 tickTime = 2000 da ...

  5. ZCMU-1179

    我的错误: 明知道是大数问题但不是不想写数组或者字符串的结构. 思路 网上查阅后发现可以使用JAVA的大数类型做. 若不使用JAVA则就是整型数组或者字符串的情况. 将a^b结果放在数组当中,实时更新 ...

  6. QTabWidget的高度取决于当前选项卡的高度

    QTabWidget的高度自适应当前选项卡的高度,可以通过设置其他选项卡的QSizePolicy为Ignored, connect(ui->tabWidget,SIGNAL(currentCha ...

  7. idea properties文件乱码解决

    ​java文件是好的,但是遇到properties文件,默认就成了iso制式乱码了. 虽说不影响程序执行,但是看起来真的让人心烦. 问题点是出在properties文件是GBK的,需要单独设置一下. ...

  8. 各种各样的 Host Builder

    各种各样的 Host Buider If you're building for the web or writing a distributed application, you might nee ...

  9. 06 IdentityServer4 中支持外部标识提供器

    06. IdentityServer4 External Providers .NET Core 3.1 January 24, 2020| deblokt| in category Tutorial ...

  10. Iframe标签显示目标网页的指定区域,视频可全屏可缩小

    由于播放的直播视频有多余的logo和聊天框等所以需要去掉,用Iframe标签显示目标网页的指定区域,视频可全屏可缩小 用自己私人的服务器来测试吧,99买阿里云 HTML代码 <html> ...