1.场景分析
以Clickhouse、Doris、Starrocks等为代表的mpp分析数据库正在快速的兴起,以其高效查询、跨库整合能力收到广大技术人员的喜爱。本文主要浅显介绍下作者在使用Doris时,通过建立catlog进行跨库查询。
废话不多少,直接上代码
2.相关配置
#Tidb外表,jdbc方式连接,如果没有服务器权限可以直接在driver_url上填写jar包的maven地址 #如果报connect timeout,建议直接找运维将jar包手动放在服务器本地 CREATE CATALOG TiDB_catalog PROPERTIES ( "type"="jdbc", "user"="xxxx", "password"="xxx", "jdbc_url" = "jdbc:mysql://xxx:4000", "driver_url" = "https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar", "driver_class" = "com.mysql.cj.jdbc.Driver" ); #mysql外表,jdbc方式连接,如果有服务器权限包的maven地址 #需将 Jar 包预先存放在 FE 和 BE 部署目录的 jdbc_drivers/ 目录下。系统会自动在这个目录下寻找。该目录的位置,也可以由 fe.conf 和 be.conf 中的 jdbc_drivers_dir 配置修改。 #本地绝对路径。如 file:///path/to/mysql-connector-java-5.1.47.jar。需将 Jar 包预先存放在所有 FE/BE 节点指定的路径下。 CREATE CATALOG mysql_catalog PROPERTIES ( "type"="jdbc", "user"="xxx", "password"="xxx", "jdbc_url" = "jdbc:mysql://xxxx:3306", "driver_url" = "mysql-connector-java-8.0.28.jar", "driver_class" = "com.mysql.cj.jdbc.Driver" ); #psql外表,jdbc方式连接,如果没有服务器权限可以直接在driver_url上填写jar包的maven地址 CREATE CATALOG postgresql_catalog PROPERTIES ( "type"="jdbc", "user"="xxx", "password"="xxx", "jdbc_url" = "jdbc:postgresql://xxxx:5432/xxxx", "driver_url" = "https://repo1.maven.org/maven2/org/postgresql/postgresql/42.5.1/postgresql-42.5.1.jar", "driver_class" = "org.postgresql.Driver" ); #hive外表,不用再复制配置文件到相应的问题,当然自己手动xml配置文件到指定位置也可 CREATE CATALOG hive_old PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://xxx:9083,thrift://xxx:9083', 'hadoop.username' = 'hadoop', 'dfs.nameservices'='xxx', 'dfs.ha.namenodes.mycluster'='nn1,nn2', 'dfs.namenode.http-address.mycluster.nn1'='xxx:9870', 'dfs.namenode.http-address.mycluster.nn2'='xxx:9870', 'dfs.namenode.rpc-address.mycluster.nn1'='xxx:8020', 'dfs.namenode.rpc-address.mycluster.nn2'='xxx:8020', 'dfs.client.failover.proxy.provider.mycluster'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider', 'fs.defaultF'='hdfs://xxx', 'ha.zookeeper.quorum'='xxx:2181,xxx:2181,xxx:2181', 'javax.jdo.option.ConnectionURL'='jdbc:mysql://xxx:3306/metastore?useSSL=false&createDatabaseIfNotExist=true&characterEncoding=UTF-8', 'javax.jdo.option.ConnectionDriverName'='com.mysql.jdbc.Driver', 'javax.jdo.option.ConnectionUserName'='xxx', 'javax.jdo.option.ConnectionPassword'='xxxx', 'hive.metastore.warehouse.dir'='/user/hive/warehouse', 'hive.server2.thrift.bind.host'='xxx', 'hive.server2.zookeeper.namespace'='hiveserver2_zk', 'hive.zookeeper.quorum'='xxxx:2181,xxx:2181,xxxx:2181', 'hive.zookeeper.client.port'='2181' );
3.注意事项
腾讯的TCHouse-D (腾讯改版doris)已经配置了jar包,无需自己手动配置
腾讯官网介绍:https://cloud.tencent.com/document/product/1387/100593
Doris官网介绍:https://doris.apache.org/zh-CN/docs/1.2/lakehouse/external-table/jdbc