Java を使用して Apache Druid に基づくリアルタイム分析およびクエリ アプリケーションを開発する方法
はじめに:
Apache Druid は、オープン ソースのリアルタイム アプリケーションです。データ処理およびクエリ エンジン。高いパフォーマンス、拡張性、信頼性を備えており、リアルタイム分析およびクエリ アプリケーションの構築に適しています。この記事では、Java 言語を使用して Apache Druid に基づくリアルタイム分析およびクエリ アプリケーションを開発する方法を紹介し、具体的なコード例を示します。
1. Apache Druid 環境をセットアップする
最初に、Apache Druid 環境をセットアップする必要があります。具体的な手順は次のとおりです。
2. Druid データ ソースの作成
次に、Druid データ ソースを作成し、データを Druid にインポートする必要があります。具体的な手順は次のとおりです。
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. Druid クエリ コードを作成する
データ ソースが正常に作成され、データのインポートが完了したら、Druid クエリ コードを作成できます。具体的な手順は次のとおりです。
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. クエリ結果の表示
最後に、クエリ結果を表示または処理する必要があります。具体的なコード例は次のとおりです。
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); }
結論:
この記事では、Java 言語を使用して、Apache Druid に基づくリアルタイム分析およびクエリ アプリケーションを開発する方法を紹介します。これには、Druid 環境の構築、 Druid データ ソース、および Druid クエリ コードの記述とクエリ結果の表示。これらの手順を通じて、データ分析と意思決定を迅速に実行できる強力なリアルタイム分析およびクエリ アプリケーションを簡単に構築できます。
参考資料:
以上がJava を使用して、Apache Druid に基づいたリアルタイム分析およびクエリ アプリケーションを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。