Cara menggunakan Java untuk membangunkan analisis masa nyata dan aplikasi pertanyaan berdasarkan Apache Druid
Pengenalan:
Apache Druid ialah enjin pemprosesan dan pertanyaan data masa nyata sumber terbuka, yang mempunyai ciri-ciri prestasi tinggi, skalabiliti dan kebolehpercayaan Sesuai untuk membina analisis masa nyata dan aplikasi pertanyaan. Artikel ini akan memperkenalkan cara menggunakan bahasa Java untuk membangunkan analisis masa nyata dan aplikasi pertanyaan berdasarkan Apache Druid, dan menyediakan contoh kod khusus.
1. Sediakan persekitaran Apache Druid
Pertama, kita perlu sediakan persekitaran Apache Druid. Langkah-langkah khusus adalah seperti berikut:
2. Cipta sumber data Druid
Seterusnya, kita perlu mencipta sumber data Druid dan mengimport data ke dalam Druid. Langkah-langkah khusus adalah seperti berikut:
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. Tulis kod pertanyaan Druid
Setelah sumber data berjaya dibuat dan data diimport, kita boleh menulis kod pertanyaan Druid. Langkah-langkah khusus adalah seperti berikut:
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. Paparkan hasil pertanyaan
Akhir sekali, kita perlu memaparkan atau memproses hasil pertanyaan. Contoh kod khusus adalah seperti berikut:
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); }
Kesimpulan:
Artikel ini memperkenalkan cara menggunakan bahasa Java untuk membangunkan analisis masa nyata dan aplikasi pertanyaan berdasarkan Apache Druid, termasuk menyediakan persekitaran Druid, mencipta sumber data Druid, menulis Kod pertanyaan Druid, dan memaparkan hasil pertanyaan. Melalui langkah ini, kami boleh membina analisis masa nyata dan aplikasi pertanyaan dengan mudah untuk membantu kami melaksanakan analisis data dan membuat keputusan dengan cepat.
Rujukan:
Atas ialah kandungan terperinci Cara menggunakan Java untuk membangunkan aplikasi analisis dan pertanyaan masa nyata berdasarkan Apache Druid. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!