Druid 基础使用-操作篇(Pivot、plyql)
一、Pivot --9095 端口

二、基本sql 使用
。plysql-- http://plywood.imply.io/plyql (下面的端口应该是8082,我这个地方做了端口转换)
执行sql脚本(bin/plyql -h *.*.195.60:8085 -q 'SHOW TABLES')
[teld@Druid imply-1.3.1]$ bin/plyql -h *.*.195.60:8085 -q 'SHOW TABLES'

显示表结构( bin/plyql -h *.*.*.60:8085 -q 'DESCRIBE pageviews')

简单查询(bin/plyql -h *.*.195.60:8085 -q 'SELECT user as us,count() as cnt FROM pageviews GROUP BY user ORDER BY cnt DESC;')

聚合汇总( bin/plyql -h *::8085 -q 'SELECT user as us,count() as cnt FROM pageviews GROUP BY user ORDER BY cnt DESC;')

时间过滤(bin/plyql -h *:8085 -q 'SELECT user as us,count() as cnt FROM pageviews where "2015-09-12T00:00:00" <= __time AND __time < "2019-09-13T00:00:00"GROUP BY user ORDER BY cnt DESC;')

启动监听[teld@Druid imply-1.3.1]$ bin/plyql -h *:8085 -i P2Y --json-server 8096

查询:

c# 调用http进行数据查询
public void QueryData()
{
string sql = "{\"sql\": \"SELECT user as us,count() as cnt FROM pageviews GROUP BY user ORDER BY cnt DESC\"}";
string url = "http://*:8096/plyql";
string data = PostHttp(url, sql);
DruiQueryResult result = JsonConvert.DeserializeObject<DruiQueryResult>(data);
DataTable dt = new DataTable();
foreach(var item in result.result)
{
foreach(var childItme in item.Keys)
{
dt.Columns.Add(childItme,typeof(string));
}
break;
}
DataRow dr = null;
foreach (var item in result.result)
{
dr = dt.NewRow();
foreach (var childItme in item)
{
dr[childItme.Key] = childItme.Value;
}
dt.Rows.Add(dr.ItemArray);
}
Assert.IsTrue(dt.Rows.Count>); }
Druid 基础使用-操作篇(Pivot、plyql)的更多相关文章
- Druid 基础使用-操作篇(Imply )
一.Imply Druid 原生的配置较麻烦,在上一篇单机版安装中有所涉及 Imply 基于Druid 进行了一些组件的开发,提供开源社区版本和商业版,简化了部署,开发了一些应用.https:// ...
- Oracle知识梳理(三)操作篇:SQL基础操作汇总
Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式: CREATE TABLE table_name ( col_ ...
- 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】
老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...
- NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者
NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...
- .NET 并行(多核)编程系列之六 Task基础部分完结篇
原文:.NET 并行(多核)编程系列之六 Task基础部分完结篇 .NET 并行(多核)编程系列之六 Task基础部分完结篇 前言:之前的文章介绍了了并行编程的一些基本的,也注重的讲述了Task的一些 ...
- 详解Google Chrome浏览器(操作篇)(下)
开篇概述 由于最近忙于公司产品的架构与研发,已经三个多月没有写博客了,收到有些朋友的来信,问为什么不及时更新博客内容呢,他们说他们正期待着某些内容.对此,非常抱歉,那么我在此也给各位朋友一些承诺,从即 ...
- JavaWeb开发技术基础概念回顾篇
JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...
- JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)
介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂 ...
- SQL数据库基础知识-巩固篇<一>
SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...
随机推荐
- git和SVN交互(待完善)
右键 git bash here 然后从SVN同步代码,git status命令,用来确认版本库状态 右键 --> TortoiseGit --> show log 打开日志 查看gi ...
- 安装mysql因为/tmp权限不足而导致ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)的解决方案
本机是centos 6.5 安装的mysql是5.1的版本. 在安装mysql之后,第一次启动mysql服务的时候,需要/tmp有777(rwxrwxrwx)的权限,然而楼主的/tmp是755(rw ...
- pwnable echo1
最近忙的好久没有更新了,有空把之前拿来练手的CTF pwn题逐渐整理一下放出来 题目是 linux 64位程序 ,流程很简单,大致思路就是先把一个跳转的机器指令写进name的地址,然后溢出覆盖eip, ...
- C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat( ...
- 存储过程procedure
存储过程(procedure) 修改mysql结束符 delimiter name procedure创建语法: create procedure p ...
- IOS-指定返回Modal的控制器presentViewController
[self.presentingViewController.presentingViewController dismissViewControllerAnimated:NO completion: ...
- VPython 三维显示 —— hello word
使用VPython,python(x,y)中已安装VPython模块 from visual import * cylinder(pos=(0,1,0), axis=(0,1,0), radius=0 ...
- delphi locate多字段查询
简单格式: IF MSQ_NewBillQuantity.Locate('FStockID;FMarchID', VarArrayOf([FStockID, FMarchID]), []) = Fal ...
- 黄聪:GeckoWebBrowser多窗口独立cookie
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Random
/* * Random:产生随机数的类 * * 构造方法: * public Random():没有给种子,用的是默认种子,是当前时间的毫秒值 * public Random(long seed):给 ...