7.4.8 SAP HANA¶
Doris JDBC Catalog 支持通过标准 JDBC 接口连接 SAP HANA 数据库。本文档介绍如何配置 SAP HANA 数据库连接。
1 使用须知¶
要连接到 SAP HANA 数据库,您需要
-
SAP HANA2.0或更高版本。 -
SAP HANA数据库的JDBC驱动程序,您可以从Maven仓库下载最新或指定版本的SAP HANA JDBC驱动程序。推荐使用ngdbc 2.4.51以上的版本。 -
Doris每个FE和BE节点和SAP HANA服务器之间的网络连接,默认端口为30015。
2 连接 SAP HANA¶
| SQL | |
|---|---|
1 2 3 4 5 6 7 8 | |
Tip
有关 SAP HANA JDBC 驱动程序支持的 JDBC URL 格式和参数的更多信息,请参阅 SAP HANA 。
3 层级映射¶
映射 SAP HANA 时, Doris 的 Database 对应于 SAP HANA 中指定 DataBase ( jdbc_url 参数中的 "DATABASE" )下的一个 Schema 。而 Doris 的 Database 下的 Table 则对应于 SAP HANA 中 Schema 下的 Tables 。即映射关系如下:
| Doris | SAP HANA |
|---|---|
| Catalog | Database |
| Database | Schema |
| Table | Table |
4 类型映射¶
4.1 SAP HANA 到 Doris 类型映射¶
| SAP HANA Type | Doris Type | Comment |
|---|---|---|
| BOOLEAN | BOOLEAN | |
| TINYINT | TINYINT | |
| SMALLINT | SMALLINT | |
| INTERGER | INT | |
| BIGINT | BIGINT | |
| SMALLDECIMAL | DECIMAL | |
| DECIMAL | DECIMAL/STRING | 将根据 Doris DECIMAL 字段的(precision, scale)选择用何种类型 |
| REAL | FLOAT | |
| DOUBLE | DOUBLE | |
| DATE | DATE | |
| TIME | STRING | |
| TIMESTAMP | DATETIME | |
| SECONDDATE | DATETIME | |
| VARCHAR | STRING | |
| NVARCHAR | STRING | |
| ALPHANUM | STRING | |
| SHORTTEXT | STRING | |
| CHAR | CHAR | |
| NCHAR | CHAR |
5 查询优化¶
5.1 谓词下推¶
当执行类似于 where dt = '2022-01-01' 这样的查询时, Doris 能够将这些过滤条件下推到外部数据源,从而直接在数据源层面排除不符合条件的数据,减少了不必要的数据获取和传输。这大大提高了查询性能,同时也降低了对外部数据源的负载。
5.2 行数限制¶
如果在查询中带有 limit 关键字, Doris 会将 limit 下推到 SAP HANA 数据库,以减少数据传输量。
5.3 转义字符¶
Doris 会在下发到 SAP HANA 的查询语句中,自动在字段名与表名上加上转义符: ("") ,以避免字段名与表名与 SAP HANA 内部关键字冲突。