So verwenden Sie Java, um eine Echtzeitanalyse- und Abfrageanwendung basierend auf Apache Druid zu entwickeln
Einführung:
Apache Druid ist eine Open-Source-Echtzeit-Datenverarbeitungs- und Abfrage-Engine, die sich durch hohe Leistung auszeichnet. Skalierbarkeit und Zuverlässigkeit. Geeignet für die Erstellung von Echtzeitanalyse- und Abfrageanwendungen. In diesem Artikel wird erläutert, wie Sie mithilfe der Java-Sprache eine Echtzeitanalyse- und Abfrageanwendung auf Basis von Apache Druid entwickeln und spezifische Codebeispiele bereitstellen.
1. Richten Sie die Apache Druid-Umgebung ein
Zunächst müssen wir die Apache Druid-Umgebung einrichten. Die spezifischen Schritte sind wie folgt:
2. Erstellen Sie eine Druid-Datenquelle
Als nächstes müssen wir eine Druid-Datenquelle erstellen und die Daten in Druid importieren. Die spezifischen Schritte lauten wie folgt:
DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl("jdbc:mysql://localhost:3306/mydb"); dataSource.setUsername("root"); dataSource.setPassword("password"); String jsonPath = "path/to/data.json"; String dataSourceName = "myDataSource"; File jsonFile = new File(jsonPath); InputStream inputStream = new FileInputStream(jsonFile); InputStreamReader reader = new InputStreamReader(inputStream); String data = IOUtils.toString(reader); String jsonPayload = String.format(data, dataSourceName); HttpURLConnection connection = (HttpURLConnection) new URL("http://localhost:8081/druid/coordinator/v1/metadata/datasources").openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); OutputStream outputStream = connection.getOutputStream(); outputStream.write(jsonPayload.getBytes()); outputStream.close(); int responseCode = connection.getResponseCode(); if (responseCode == 200) { System.out.println("Data source created successfully."); }
3. Schreiben Sie den Druid-Abfragecode
Sobald die Datenquelle erfolgreich erstellt und die Daten importiert wurden, können wir den Druid-Abfragecode schreiben. Die spezifischen Schritte sind wie folgt:
DruidQueryRequest queryRequest = new DruidQueryRequest(); queryRequest.setDataSource("myDataSource"); queryRequest.setGranularity("hour"); queryRequest.setIntervals("2022-01-01T00:00:00Z/2022-01-02T00:00:00Z"); DruidAggregation aggregation = new DruidAggregation(); aggregation.setType("longSum"); aggregation.setName("totalClicks"); aggregation.setFieldName("clicks"); queryRequest.setAggregations(Collections.singletonList(aggregation)); URL url = new URL("http://localhost:8082/druid/v2"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); Gson gson = new Gson(); String jsonPayload = gson.toJson(queryRequest); OutputStream outputStream = connection.getOutputStream(); outputStream.write(jsonPayload.getBytes()); outputStream.close(); int responseCode = connection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = connection.getInputStream(); InputStreamReader reader = new InputStreamReader(inputStream); String result = IOUtils.toString(reader); System.out.println(result); }
4. Abfrageergebnisse anzeigen
Schließlich müssen wir die Abfrageergebnisse anzeigen oder verarbeiten. Spezifische Codebeispiele lauten wie folgt:
JsonParser parser = new JsonParser(); JsonObject jsonObject = parser.parse(result).getAsJsonObject(); JsonArray events = jsonObject.getAsJsonArray("events"); for (JsonElement event : events) { JsonObject eventObject = event.getAsJsonObject(); String timestamp = eventObject.get("__time").getAsString(); long clicks = eventObject.get("totalClicks").getAsLong(); System.out.println("Timestamp: " + timestamp); System.out.println("Total Clicks: " + clicks); }
Fazit:
In diesem Artikel wird beschrieben, wie Sie mithilfe der Java-Sprache eine Echtzeitanalyse- und Abfrageanwendung basierend auf Apache Druid entwickeln, einschließlich der Einrichtung einer Druid-Umgebung, der Erstellung einer Druid-Datenquelle und des Schreibens Druid-Abfragecode und Anzeige der Abfrageergebnisse. Durch diese Schritte können wir ganz einfach eine leistungsstarke Echtzeitanalyse- und Abfrageanwendung erstellen, die uns bei der schnellen Datenanalyse und Entscheidungsfindung unterstützt.
Referenzen:
Das obige ist der detaillierte Inhalt vonWie man mit Java eine Echtzeit-Analyse- und Abfrageanwendung basierend auf Apache Druid entwickelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!