- StarRocks
- 产品简介
- 快速开始
- 表设计
- 数据导入
- 数据提取
- 使用StarRocks
- 管理手册
- 参考手册
- SQL参考
- 用户账户管理
- 集群管理
- ADMIN CANCEL REPAIR
- ADMIN CHECK TABLET
- ADMIN REPAIR
- ADMIN SET CONFIG
- ADMIN SET REPLICA STATUS
- ADMIN SHOW CONFIG
- ADMIN SHOW REPLICA DISTRIBUTION
- ADMIN SHOW REPLICA STATUS
- ALTER SYSTEM
- CANCEL DECOMMISSION
- CREATE RESOURCE GROUP
- CREATE FILE
- DROP FILE
- INSTALL PLUGIN
- SHOW BACKENDS
- SHOW BROKER
- SHOW FRONTENDS
- SHOW FULL COLUMNS
- SHOW INDEX
- SHOW PLUGINS
- SHOW TABLE STATUS
- SHOW FILE
- UNINSTALL PLUGIN
- DDL
- ALTER DATABASE
- ALTER TABLE
- ALTER VIEW
- ALTER RESOURCE
- BACKUP
- CANCEL BACKUP
- CANCEL RESTORE
- CREATE DATABASE
- CREATE INDEX
- CREATE MATERIALIZED VIEW
- CREATE REPOSITORY
- CREATE RESOURCE
- CREATE TABLE AS SELECT
- CREATE TABLE LIKE
- CREATE TABLE
- CREATE VIEW
- CREATE FUNCTION
- DROP DATABASE
- DROP INDEX
- DROP MATERIALIZED VIEW
- DROP REPOSITORY
- DROP RESOURCE
- DROP TABLE
- DROP VIEW
- DROP FUNCTION
- HLL
- RECOVER
- RESTORE
- SHOW RESOURCES
- SHOW FUNCTION
- TRUNCATE TABLE
- DML
- ALTER ROUTINE LOAD
- BROKER LOAD
- CANCEL LOAD
- CANCEL EXPORT
- DELETE
- EXPORT
- GROUP BY
- INSERT
- PAUSE ROUTINE LOAD
- RESUME ROUTINE LOAD
- CREATE ROUTINE LOAD
- SELECT
- SHOW ALTER
- SHOW BACKUP
- SHOW DATA
- SHOW DATABASES
- SHOW DELETE
- SHOW DYNAMIC PARTITION TABLES
- SHOW EXPORT
- SHOW LOAD
- SHOW PARTITIONS
- SHOW PROPERTY
- SHOW REPOSITORIES
- SHOW RESTORE
- SHOW ROUTINE LOAD
- SHOW ROUTINE LOAD TASK
- SHOW SNAPSHOT
- SHOW TABLES
- SHOW TABLET
- SHOW TRANSACTION
- SPARK LOAD
- STOP ROUTINE LOAD
- STREAM LOAD
- 数据类型
- 辅助命令
- 函数参考
- 日期函数
- convert_tz
- curdate
- current_timestamp
- curtime
- datediff
- date_add
- date_format
- date_sub
- date_trunc
- day
- dayname
- dayofmonth
- dayofweek
- dayofyear
- from_days
- from_unixtime
- hour
- minute
- month
- monthname
- now
- second
- str_to_date
- timediff
- time_slice
- timestampadd
- timestampdiff
- to_date
- to_days
- unix_timestamp
- utc_timestamp
- week
- weekofyear
- year
- hours_diff
- minutes_diff
- months_diff
- seconds_diff
- weeks_diff
- years_diff
- quarter
- timestamp
- time_to_sec
- str2date
- microseconds_add
- microseconds_sub
- 加密函数
- 地理位置函数
- 字符串函数
- JSON 函数
- 模糊/正则匹配函数
- 工具函数
- 聚合函数
- Bitmap函数
- 数组函数
- bit函数
- cast函数
- hash函数
- 条件函数
- 百分位函数
- 数学函数
- 日期函数
- 系统变量
- 错误码
- 系统限制
- SQL参考
- 常见问题解答
- 性能测试
- Release Notes
Connector
概念
Catalog
StarRocks中的Catalog包括两种类型,分别为Internal Catalog与External Catalog. Catalog包含用户所有的Database. 当前StarRocks中存在一个默认的Internal Catalog实例,其默认值为default_catalog
. 对于存储在StarRocks中的Database/Table/View 等,均在Internal Catalog下,如OlapTable和External Hive Table。对于External Catalog, 是用户通过执行Create Catalog DDL语句所得。每个External Catalog下存在一个Connector来获取外部的数据源信息。当前版本仅支持Hive Connector. 用户可指定fully-qualified进行查询指定catalog的数据表。如通过指定hive_catalog.hive_db.hive_table
来查询用户自定义的hive_catalog中的表。也可以通过指定default_catalog.my_db.my_olap_table
来查询Olap表,同时也可对不同catalog间的数据进行联邦查询。
Connector
StarRocks中的Connector为用户自定Catalog下对应的数据源连接器。通过Connector StarRocks可以获取运行期间需要的表信息,待扫描文件等信息。当前每个External Catalog对应一个Connector实例。Connector是在创建External Catalog过程中完成。用户可以根据需要来实现自定义的Connector.
使用方式
创建Catalog
语法
CREATE EXTERNAL CATALOG <catalog_name> PROPERTIES ("key"="valuse", ...);
示例
创建hive catalog
CREATE EXTERNAL CATALOG hive_catalog0 PROPERTIES("type"="hive", "hive.metastore.uris"="thrift://127.0.0.1:9083");
说明
- 当前只支持创建hive external catalog
- PROPERTIES中的
type
为必填项,hive catalog中的值为hive
删除Catalog
语法
DROP EXTERNAL CATALOG <catalog_name>
示例
删除hive catalog
DROP EXTERNAL CATALOG hive_catalog;
使用Catalog
当前Catalog分为两种,分别为Internal Catalog与External Catalog. 用户可通过SHOW CATALOGS
查看当前存在哪些Catalog. Internal Catalog在StarRocks中只存在一个默认实例,默认值为default_catalog
. 用户在从mysql client登录StarRocks之后,当前连接的默认Catalog为default_catalog
, 如果用户只使用Internal Catalog中的OLAP表功能,其使用方式与原有保持不变。用户可通过show databases
查看Internal Catalog中有哪些databases.
对于External Catalog,用户可使用SHOW DATABASES FROM <external_catalog_name>
的方式查看存在哪些Database,然后可通过USE external_catalog.db
的方式切换当前连接的current_catalog和current_db. 当前只支持Use到DB级别,暂不支持Use到Catalog级别,后面会陆续开放该功能。
示例
-- 在default_catalog下,use olap_db作为current database;
USE olap_db;
-- 在default_catalog.olap_db下查询olap_table;
SELECT * FROM olap_table limit 1;
-- 在default_catalog.olap_db下查询external catalog中的表,需要写external table的全名。
SELECT * FROM hive_catalog.hive_db.hive_tbl;
-- 切换current_catalog与current_database分别为hive_catalog和hive_db
USE hive_catalog.hive_db
-- 在hive_catalog.hive_db下查询hive table
SELECT * FROM hive_table limit 1;
-- 在hive_catalog.hive_db下查询Internal Catalog中的OLAP表
SELECT * FROM default_catalog.olap_db.olap_table;
-- 在hive_catalog.hive_db下与Internal Catalog中的OLAP表做联邦查询
SELECT * FROM hive_table h JOIN default_catalog.olap_db.olap_table o WHERE h.id = o.id;
-- 在其他hive catalog下对hive_catalog与Internal catalog的OLAP表做联邦查询
SELECT * FROM hive_catalog.hive_db.hive_tbl h JOIN default_catalog.olap_db.olap_table o WHERE h.id = o.id;
Hive Connector元数据同步
当前Hive Connector对于用户Hive Metastore中记录的表结构以及分区文件信息在FE中进行了缓存,当前实现方式与刷新方式与Hive外表保持相同,请参见Hive 外表。