• 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;')

    httppost
    启动监听[teld@Druid imply-1.3.1]$ bin/plyql -h *:8085 -i P2Y --json-server 8096
    PlyQL server listening on port: 8096
    Got SQL: SELECT user as us,count() as cnt FROM pageviews
    Got SQL: SELECT user as us,count() as cnt FROM pageviews GROUP BY user ORDER BY cnt DESC

    查询:

    [root@Druid imply-1.3.1]# curl -X POST 'http://*:8096/plyql' -H 'content-type: application/json' -d '{"sql": "SELECT user as us,count() as cnt FROM pageviews GROUP BY user ORDER BY cnt DESC"}'

    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>100);
    
            }
    View Code

       


       

  • 相关阅读:
    Lombok 同时使用 @Data 和 @Builder 的巨坑,千万别乱用!
    我的开源代码被大公司盗用后:有人承认,有人让我滚!!
    Oracle Performance Active Session History ASH图
    生活中不需节食的简单减肥技巧 生活至上,美容至尚!
    maven模块化开发
    Python+GDAL实现矢量转栅格
    舟曲县行政区划编码
    arcgis pro Generate Transects Along Lines沿线生成样带 (数据管理)
    GeoServer安装GDAL扩展&Java如何连接GDAL
    gltf和3dtiles的关系
  • 原文地址:https://www.cnblogs.com/pbc1984/p/6103147.html
Copyright © 2020-2023  润新知