日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過JDBC方式訪問Presto

創建了包含Presto服務的集群后,如果您需要進行復雜的數據查詢、分析和處理操作,或者需要將查詢結果集成到Java應用程序中,則可以使用Presto提供的JDBC Driver連接數據庫。

在Maven中引入JDBC Driver

您需要根據您的E-MapReduce集群版本,在pom.xml文件中添加相應的依賴來引入Presto JDBC Driver。

組件版本

JDBC Driver

Driver類名

0.2XX

<dependency>
    <groupId>com.facebook.presto</groupId>
    <artifactId>presto-jdbc</artifactId>
    <version>0.2XX</version>
</dependency>

com.facebook.presto.jdbc.PrestoDriver

其中,Java版本需要為Java 8或更高版本,且所有使用者都需被授予system.jdbc表的查詢權限。

數據庫連接

您可以通過如下JDBC URL,使用JDBC Driver連接數據庫。

jdbc:presto://<COORDINATOR>:<PORT>/[CATALOG]/[SCHEMA]

連接示例如下所示。

jdbc:presto://master-1-1:8889               # 連接數據庫,使用Catalog和Schema。
jdbc:presto://master-1-1:8889/hive          # 連接數據庫,使用Catalog(hive)和Schema。
jdbc:presto://master-1-1:8889/hive/default  # 連接數據庫,使用Catalog(hive)和Schema(default)。

連接參數

JDBC Driver支持多種配置參數,這些參數可以通過以下兩種方式傳入:

  • 使用Properties對象。

    String url = "jdbc:presto://<主節點名稱>:8889/hive/default";
    Properties properties = new Properties();
    properties.setProperty("user", "presto");
    Connection connection = DriverManager.getConnection(url, properties);
    //......進行數據庫操作
  • 直接在URL中指定。

    String url = "jdbc:presto://<主節點名稱>:8889/hive/default?user=presto";
    Connection connection = DriverManager.getConnection(url);
    //......進行數據庫操作

常用參數說明如下。

參數名稱

格式

參數說明

user

STRING

用于身份驗證和授權的用戶名。

password

STRING

用于LDAP身份驗證的密碼。

socksProxy

STRING:NUMBER

SOCKS代理服務器地址。例如localhost:1080。

httpProxy

STRING:NUMBER

HTTP代理服務器地址。例如localhost:8888。

SSL

BOOLEAN

是否使用HTTPS連接。默認值為false。

SSLKeyStorePath

STRING

存儲KeyStore文件的路徑。

SSLKeyStorePassword

STRING

KeyStore的訪問密碼。

SSLTrustStorePath

STRING

指向Java TrustStore文件的路徑。

SSLTrustStorePassword

STRING

Java TrustStore的訪問密碼。

KerberosRemoteServiceName

STRING

Kerberos服務的名稱。

KerberosPrincipal

STRING

Kerberos Principal名稱。

KerberosUseCanonicalHostname

BOOLEAN

是否使用規范化的主機名。默認為值false。

KerberosConfigPath

STRING

Kerberos配置文件的路徑。

KerberosKeytabPath

STRING

Kerberos KeyTab文件的路徑。

KerberosCredentialCachePath

STRING

Kerberos Credential緩存文件的路徑。

示例

下面是Java使用JDBC Driver連接數據庫的示例代碼。

Connection connection = null;
Statement statement = null;
try {
    // 根據組件名稱使用正確的JDBC URL。
    String url = "jdbc:presto://<主節點名稱>:8889/hive/default";
    Properties properties = new Properties();
    properties.setProperty("user", "presto");
    // 創建連接對象。
    connection = DriverManager.getConnection(url, properties);
    // 創建Statement對象。
    statement = connection.createStatement();
    // 執行查詢。
    ResultSet rs = statement.executeQuery("select * from t1");
    // 獲取結果。
    int columnNum = rs.getMetaData().getColumnCount();
    int rowIndex = 0;
    while (rs.next()) {
        rowIndex++;
        for(int i = 1; i <= columnNum; i++) {
            System.out.println("Row " + rowIndex + ", Column " + i + ": " + rs.getInt(i));
        }
    }
} catch(SQLException e) {
    LOG.ERROR("Exception thrown.", e);
} finally {
  // 銷毀Statement對象。
  if (statement != null) {
      try {
        statement.close();
    } catch(Throwable t) {
        // No-ops
    }
  }
  // 關閉連接。
  if (connection != null) {
      try {
        connection.close();
    } catch(Throwable t) {
        // No-ops
    }
  }
}

相關文檔

如果您只是進行簡單的數據查詢操作,建議使用命令行的方式訪問Presto,詳情請參見通過命令行方式訪問Presto