全部產品
Search
文件中心

E-MapReduce:通過JDBC方式串連StarRocks執行個體

更新時間:Mar 13, 2025

通過JDBC串連到Serverless StarRocks執行個體,您可以享受到跨平台的統一資料接入體驗,並顯著簡化應用程式的整合流程。本文為您介紹如何使用JDBC方式串連Serverless StarRocks執行個體。

前提條件

已建立Serverless StarRocks執行個體,詳情請參見建立執行個體

操作步驟

  1. 添加MySQL JDBC驅動到Maven專案中,請在pom.xml檔案中添加以下依賴項。

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.27</version><!-- 根據實際需要修改版本 -->
    </dependency>
    說明

    mysql-connector-java為MySQL資料庫的JDBC驅動程式,不同目標資料庫使用的JDBC驅動程式不同,使用其他資料庫的JDBC驅動程式會有不相容的問題,建議訪問目標資料庫官網,查詢並使用其支援的JDBC驅動程式。StarRocks目前尚未提供官方的JDBC驅動程式,因此本文使用MySQL的JDBC驅動程式。

  2. 串連StarRocks執行個體,範例程式碼如下。

    public class ConnStarrocks {
        /**串連MySQL資料庫
    	1、載入驅動程式
    	2、資料庫連接字串"jdbc:mysql://localhost:9030/資料庫名?"
    	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!");
        }	
    }

    返回資訊如下所示。

    image

    涉及參數如下表所示,部分參數請根據實際情況進行替換。

    參數

    說明

    JDBC_DRIVER

    資料庫連接的JDBC驅動。例如,com.mysql.cj.jdbc.Driver

    DB_URL

    資料庫連接字串,格式為jdbc:mysql://<FE地址>:<fe_query_port>/<database>,其中涉及參數如下:

    • <FE地址>:Serverless StarRocks執行個體中FE的內網或公網地址。您可以在執行個體詳情頁面的FE詳情地區查看。

      • 如果使用內網地址,請確保在同一VPC內。

      • 如果使用公網地址,需確保安全性群組規則允許相應的連接埠通訊,詳情請參見網路訪問與安全設定

    • <fe_query_port>:Serverless StarRocks執行個體中FE的查詢連接埠(預設為9030)。您可以在執行個體詳情頁面的FE詳情地區查看。

    • <database>:Serverless StarRocks執行個體中的資料庫名稱。本文使用的是快速使用存算一體版執行個體中建立的load_test資料庫。

    USER

    Serverless StarRocks執行個體的使用者名稱。預設提供admin使用者,具有管理員權限。您也可以通過使用者管理頁面新增使用者來串連。新增使用者操作,請參見系統管理使用者及資料授權

    PASSWORD

    使用者 USER 對應的密碼。請確保密碼的安全性。

    sql

    SQL語句。本文使用的SQL語句樣本基於快速使用存算一體版執行個體中建立的load_test資料庫中的insert_wiki_edit表。

相關文檔

您可以通過Serverless StarRocks提供的SQL Editor直接在Web介面編寫、執行和管理SQL查詢,以便高效地操作StarRocks執行個體,詳情請參見通過EMR StarRocks Manager串連StarRocks執行個體