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

 

 

 

   


   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM