JDBC 経由でサーバーレス StarRocks インスタンスに接続すると、さまざまなプラットフォーム間でシームレスなデータアクセスエクスペリエンスが提供され、アプリケーション統合プロセスが大幅に簡素化されます。 このトピックでは、JDBC を使用してサーバーレス StarRocks インスタンスに接続する手順について説明します。
前提条件
サーバーレス StarRocks インスタンスが作成されていること。詳細については、「インスタンスを作成する方法」をご参照ください。
手順
pom.xml
ファイルに次の依存関係を含めることで、MySQL JDBC ドライバーを Maven プロジェクトに追加します。<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version><!-- 必要に応じてバージョンを変更してください --> </dependency>
説明mysql-connector-java
は MySQL データベース用の JDBC ドライバーです。データベースごとに特定の JDBC ドライバーが必要です。互換性のない JDBC ドライバーを使用すると、互換性の問題が発生する可能性があります。適切な JDBC ドライバーについては、ターゲットデータベースの公式 Web サイトを参照することをお勧めします。現在、StarRocks は公式の JDBC ドライバーを提供していないため、このトピックでは MySQL JDBC ドライバーを使用しています。以下に示すサンプルコードを使用して、StarRocks インスタンスに接続します。
public class ConnStarrocks { /**MySQL データベースに接続する 1. ドライバーを読み込む 2. データベース接続文字列 "jdbc:mysql://localhost:9030/yourDatabaseName?" 3. データベースユーザー名 4. データベースパスワード **/ static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:9030/yourDatabaseName?useSSL=false&serverTimezone=UTC"; /**ユーザー名とパスワード。実際の状況に合わせて設定してください。**/ static final String USER = "****"; static final String PASSWORD = "1234*****"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // JDBC ドライバーを登録する。 Class.forName(JDBC_DRIVER); // データベース接続を確立する。 System.out.println("データベースに接続しています..."); conn = DriverManager.getConnection(DB_URL,USER,PASSWORD); // クエリを実行するための Statement オブジェクトを作成する。 System.out.println(" Statement オブジェクトをインスタンス化しています..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; // 結果セットを取得する。 ResultSet rs = stmt.executeQuery(sql); // 完了したら閉じる。 rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ // JDBC エラーを処理する。 se.printStackTrace(); }catch(Exception e){ // Class.forName エラーを処理する。 e.printStackTrace(); }finally{ // リソースを閉じる。 if(stmt!=null) { stmt.close(); } if(conn!=null) { conn.close(); } } System.out.println("Goodbye!"); } }
出力は次のようになります。
使用されているパラメーターについては、以下の表を参照してください。特定の環境に合わせて必要に応じて置き換えてください。
パラメーター
説明
JDBC_DRIVER
データベース接続用の JDBC ドライバー。たとえば、
com.mysql.cj.jdbc.Driver
です。DB_URL
jdbc:mysql://<FE アドレス>:<fe_query_port>/<データベース>
形式のデータベース接続文字列。ここで使用されるパラメーターは次のとおりです。<FE アドレス>
: サーバーレス StarRocks インスタンスの FE の内部アドレスまたはパブリックアドレス。[インスタンスの詳細] ページの [FE の詳細] 領域で確認できます。内部アドレスを使用する場合は、同じ VPC 内にあることを確認してください。
パブリックアドレスを使用する場合は、セキュリティグループルールで対応するポートでの通信が許可されていることを確認してください。詳細については、「ネットワークアクセスとセキュリティ設定」をご参照ください。
<fe_query_port>
: サーバーレス StarRocks インスタンスの FE のクエリポート (デフォルトは 9030)。[インスタンスの詳細] ページの [FE の詳細] 領域で確認できます。<データベース>
: サーバーレス StarRocks インスタンスのデータベース名。このトピックでは、「StarRocks Shared-Nothing インスタンスを使用する」で作成した load_test データベースを使用します。
USER
サーバーレス StarRocks インスタンスのユーザー名。管理者ユーザーは、デフォルトで管理者権限が付与されています。[ユーザー管理] ページから新しいユーザーを追加して接続することもできます。ユーザーの追加については、「ユーザーとデータ認証を管理する」をご参照ください。
PASSWORD
USER
に対応するパスワード。パスワードのセキュリティを確保してください。sql
SQL 文。このトピックで使用されている SQL 文の例は、「StarRocks Shared-Nothing インスタンスを使用する」で作成した
load_test
データベースのinsert_wiki_edit
テーブルに基づいています。
参照
サーバーレス StarRocks の SQL エディターを使用すると、Web インターフェースを介して SQL クエリを直接記述、実行、および管理できるため、StarRocks インスタンスの操作が効率化されます。詳細については、「EMR StarRocks Manager 経由で StarRocks インスタンスに接続する方法」をご参照ください。