@@ -112,6 +112,40 @@ def query(self, sql, limit=50000, offset=0, acceptPartial=False, **kwargs):
112112
113113 return response
114114
115+ def query_prestate (self , sql , limit = 0 , offset = 50000 , acceptPartial = False , ** kwargs ):
116+ """https://cwiki.apache.org/confluence/display/KYLIN/Query+API"""
117+ json_data = {
118+ 'acceptPartial' : acceptPartial ,
119+ 'limit' : limit ,
120+ 'offset' : offset ,
121+ 'project' : self .project ,
122+ 'sql' : sql ,
123+ }
124+ kwargs .setdefault ('json' , json_data )
125+ return self .client .post ('/query/prestate' , ** kwargs ).json ()
126+
127+ def create_saved_queries (self , sql , name , desc = None , ** kwargs ):
128+ json_data = {
129+ 'sql' : sql ,
130+ 'name' : name ,
131+ 'project' : self .project ,
132+ 'description' : desc ,
133+ }
134+ kwargs .setdefault ('json' , json_data )
135+ return self .client .post ('/saved_queries' , ** kwargs ).json ()
136+
137+ def remove_saved_query (self , query_id ):
138+ return self .client .delete ('/saved_queries/{}' .format (query_id )).json ()
139+
140+ def get_saved_queries (self ):
141+ return self .client .get ('/saved_queries' ).json ()
142+
143+ def get_running_queries (self ):
144+ return self .client .get ('/query/runningQueries' ).json ()
145+
146+ def stop_query (self , query_id ):
147+ return self .client .get ('/query/{}/stop' .format (query_id )).json ()
148+
115149 def projects (self , ** kwargs ):
116150 params = {
117151 'pageOffset' : 0 ,
0 commit comments