HANA 連接器

HANA 連接器允許查詢和建立外部 HANA 資料庫中的表格。這可以用於連接不同系統(如 HANA 和 Hive)或兩個不同 HANA 實例之間的資料。

組態

若要設定 HANA 連接器,請在 etc/catalog 中建立一個目錄屬性檔案,例如,命名為 hana.properties,以將 HANA 連接器掛載為 hana 目錄。

建立包含以下內容的檔案,並根據您的設定適當替換連線屬性

connector.name=hana
connection-url=jdbc:sap://[serverName[\instanceName][:portNumber]]
connection-user=root
connection-password=secret

連線安全性

JDBC 驅動程式和連接器會自動使用傳輸層安全 (TLS) 加密和憑證驗證。這需要在您的 Hana 資料庫主機上設定合適的 TLS 憑證。

若要在連線字串中啟用加密,請使用 encrypt 屬性

connection-url=jdbc:sap://<host>:<port>?encrypt=true;

可以使用 connection-url 設定的其他 SSL 組態屬性

SSL 組態屬性

屬性名稱

描述

預設

validateCertificate

表示應根據指定的信任儲存驗證伺服器提供的 SSL 憑證。

true

trustStoreType

信任儲存檔案的檔案格式,例如 JKS

trustStore

信任儲存檔案的路徑。

trustStorePassword

信任儲存的密碼。

使用信任儲存的連線字串會類似於以下範例

connection-url=jdbc:sap://<host>:<port>?encrypt=true&validateCertificate=true&trustStore=path/to/truststore.jks&trustStorePassword=password&trustStoreType=jks

多個 HANA 資料庫或伺服器

HANA 連接器只能存取 HANA 伺服器中的單一資料庫。如果您有多個 HANA 資料庫,或想要連線到多個 HANA 實例,則必須設定多個目錄,每個實例一個。

若要新增其他目錄,請將其他屬性檔案新增至 etc/catalog,並使用不同的名稱(請確保它以 .properties 結尾)。例如,如果您將屬性檔案命名為 sales.properties,Presto 會使用已設定的連接器建立名為 sales 的目錄。

一般組態屬性

屬性名稱

描述

預設

user-credential-name

值為 JDBC 驅動程式使用者名稱的 extraCredentials 屬性的名稱。請參閱 參數參考中的 extraCredentials

password-credential-name

值為 JDBC 驅動程式使用者密碼的 extraCredentials 屬性的名稱。請參閱 參數參考中的 extraCredentials

case-insensitive-name-matching

不區分大小寫地比對資料集和表格名稱。

false

case-insensitive-name-matching.cache-ttl

將快取遠端資料集和表格名稱的持續時間。設定為 0ms 可停用快取。

1m

查詢 HANA

HANA 連接器提供對已設定資料庫中指定使用者可見的所有結構描述的存取權。對於以下範例,假設 HANA 目錄為 hana

您可以使用執行 SHOW SCHEMAS 來查看可用的結構描述

SHOW SCHEMAS FROM hana;

如果您有一個名為 web 的結構描述,您可以使用執行 SHOW TABLES 來檢視此結構描述中的表格

SHOW TABLES FROM hana.web;

您可以使用下列任一方法,查看 web 資料庫中 clicks 表格中的欄位清單

DESCRIBE hana.web.clicks;
SHOW COLUMNS FROM hana.web.clicks;

最後,您可以查詢 web 結構描述中的 clicks 表格

SELECT * FROM hana.web.clicks;

如果您為目錄屬性檔案使用了不同的名稱,請在上述範例中使用該目錄名稱來取代 hana

HANA 連接器限制

不支援下列 SQL 陳述式