public List<Map<String, Object>> run(DrillConfig config, ClusterCoordinator coordinator, BufferAllocator allocator)
throws Exception {
DrillClient client = new DrillClient(config, coordinator, allocator);
Listener listener = new Listener(new RecordBatchLoader(allocator));
client.connect();
client.runQuery(getType(), query, listener);
List<Map<String, Object>> result = listener.waitForCompletion();
client.close();
return result;