package com.qniao.iot; import org.apache.flink.api.java.DataSet; import org.apache.flink.api.java.ExecutionEnvironment; import org.apache.flink.api.java.tuple.Tuple3; import org.apache.flink.util.FileUtils; import java.io.File; import java.util.List; import java.util.Map; public class CloudBoxEventJob1 { private static EsRestClientService esRestClientService = new EsRestClientService(); public static void main(String[] args) throws Exception { // set up the execution environment final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); // 查询数据searchResponse String scrollId = null; DataSet> dataSet = null; List> dataList = null; int count = 0; while (!"none".equals(scrollId)) { Map map = esRestClientService.queryDeviceListPage(scrollId); if (map.get("tupleList") instanceof List) dataList = (List>) map.get("tupleList"); scrollId = map.get("scrollId").toString(); if (dataList == null || dataList.size() < 10000 || count > 3) break; // 导入数据 DataSet> dataSetTemp = env.fromCollection(dataList); if (dataSet == null) { dataSet = dataSetTemp; } else { dataSet = dataSet.union(dataSetTemp); } ++count; } // 分组计算规则 dataSet = dataSet.groupBy(0).sum(2); //dataSet.print(); String output = "C:\\Users\\10499\\Downloads\\1223.txt"; FileUtils.deleteFileOrDirectory(new File(output)); dataSet.writeAsText(output); env.execute("read es"); } }