全部產品
Search
文件中心

Lindorm:JDBC開發實踐

更新時間:Jul 23, 2026

您可以通過JDBC方式訪問Lindorm計算引擎服務,使用Spark SQL完成資料查詢、資料分析和資料生產等操作。

前提條件

  • 已建立並開通Lindorm執行個體的寬表引擎,具體操作請參見建立執行個體

  • 已開通Lindorm執行個體的計算引擎服務,具體操作請參見服務開通

  • 已安裝Java環境,要求使用JDK 1.8及以上版本。

JDBC串連地址

查看Lindorm計算引擎串連地址的具體步驟請參見查看串連地址。在執行個體詳情頁左側導覽列單擊資料庫連接,選擇計算引擎頁簽,即可查看JDBC地址和JAR地址。JDBC地址分為專用網路和公網兩種,格式均為jdbc:hive2://<host>:<port>

使用Java訪問JDBC服務

  1. 添加JDBC環境依賴,以Maven為例。

    <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-jdbc</artifactId>
        <version>2.3.8</version>
    </dependency>
  2. 編寫Java程式碼訪問JDBC服務,程式碼範例如下:

    import java.sql.*;
    public class App {
        public static void main(String[] args) throws Exception {
            Class.forName("org.apache.hive.jdbc.HiveDriver");
            String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****";
            String user = "";
            String password = "";
            Connection con = DriverManager.getConnection(endpoint, user, password);
            Statement stmt = con.createStatement();
            String sql = "SELECT * FROM test";
            ResultSet res = stmt.executeQuery(sql);
            while (res.next()) {
                System.out.println(res.getString(1));
            }
        }
    }
  3. 可選:如果您需要配置更多的作業參數可以在JDBC串連地址中指定,樣本如下:

    String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false";

使用Python訪問JDBC服務

  1. 下載Spark安裝包

  2. 解壓Spark安裝包。

  3. 配置路徑參數。

    1. 配置Spark路徑。

      export SPARK_HOME=/path/to/dir/;
    2. 配置CLASSPATH。

      export CLASSPATH=$CLASSPATH:$SPARK_HOME/jars/*;
    3. 安裝JayDeBeApi。

      pip install JayDeBeApi
  4. 編寫Python程式碼訪問JDBC服務,程式碼範例如下:

    import jaydebeapi
    driver = 'org.apache.hive.jdbc.HiveDriver'
    endpoint = 'jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****'
    jarPath = '/path/to/sparkhome/jars/hive-jdbc-****.jar'
    user = '****'
    password = '****'
    conn=jaydebeapi.connect(driver, endpoint, [user, password], [jarPath])
    cursor = conn.cursor()
    cursor.execute("select 1")
    results = cursor.fetchall()
    cursor.close()
    conn.close()
  5. 可選:如果您需要配置更多的作業參數可以在JDBC串連地址中指定,樣本如下:

    endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false"