1.1. 引擎说明
衡石可以配置一个内置引擎,用于对数据集进行加速,适用于客户没有计算能力较强的查询引擎的场景。在数据集管理页面打开开关就能获得加速效果。衡石安装包包含了Postgresql引擎、GreenplumDB引擎、Doris引擎。 客户还可以自己提供其他类型的引擎,包括Aws Athena,Aws Redshift,阿里云Hologres,自建Postgresql,自建GreenplumDB,自建MySQL,自建达梦数据库等。另外,如果选择使用衡石安装的 Postgresql或者GreenplumDB作为引擎,还同时支持配置这个服务作为数仓,给数据集成作为输出节点使用。 默认衡石使用GreenplumDB作为内置的引擎和数仓,支持数据集导入引擎,同时支持作为数据集成的输出目的地。这种情况下不需要做高级配置。
引擎表名和表清理机制
为了避免读写冲突,全量导入的表名是随机生成的,表名中有创建时间。再次全量导入,则生成新的表,旧表不再使用。复制数据集时,两个数据集会重用一个表。删除数据集的时候,不删除表。这里引入了一个 垃圾回收的机制,清理任务定期扫描引擎表列表,发现没有被数据集引用的表,就删除。
引擎相关配置
引擎的配置需要在启动前在安装跟目录下的conf/hengshi-sense-env.sh文件中配置,需要在变量前面加上export关键字。相关字段说明如下:
字段 | 类型 | 对应java字段 | 描述 |
---|---|---|---|
HS_ENGINE_TYPE | STRING | ENGINE_TYPE | 引擎类型,参考引擎类型说明 |
IS_ENGINE_EMBEDDED | BOOL | 无 | 是否为衡石自带的引擎,默认为true; 如果是衡石自带引擎,则可以在页面开放数仓, 如果不是衡石自带引擎,而是客户自己的引擎,则在页面不能开放数仓 |
SYSTEM_ENGINE_URL | STRING | SYSTEM_ENGINE_URL | 设置用户自建的引擎的jdbc url作为内置引擎 |
INTERNAL_ENGINE_DATASET_PATH | STRING | INTERNAL_ENGINE_DATASET_PATH | 数据集导入路径,默认是public,多级路径用英文逗号分隔 |
INTERNAL_ENGINE_TMP_PATH | STRING | INTERNAL_ENGINE_TMP_PATH | 引擎临时路径,主要用于数据集成文件上传,默认是hengshi_internal_engine_tmp_schema,多级路径用英文逗号分隔 |
INTERNAL_ENGINE_OUTPUT_PATH | STRING | INTERNAL_ENGINE_OUTPUT_PATH | 引擎公共数据路径,用于提供衡石的共用数据,比如万年历等。默认是common,多级路径用英文逗号分隔 |
UPDATE_ENGINE_COMMON_DATA | BOOL | UPDATE_ENGINE_COMMON_DATA | 是否更新公共数据,默认是false,如果存在不更新,不存在才导入 |
OPEN_DW_USER | STRING | OPEN_DW_USER | 衡石数仓用户名 |
OPEN_DW_DB | STRING | OPEN_DW_DB | 衡石数仓所在DB |
OPEN_DW_TYPE | STRING | OPEN_DW_TYPE | 衡石数仓类型,可以为postgresql或者greenplum,默认是greenplum |
GREENPLUM_QUERY_USR | STRING | ENGINE_QUERY_USER | 衡石提供的GreenplumDB的查询用户名 |
GREENPLUM_QUERY_PWD | STRING | ENGINE_QUERY_PASSWORD | 衡石提供的GreenplumDB的查询用户密码 |
QUERY_QUEUE | STRING | ENGINE_QUERY_QUEUE | 衡石提供的GreenplumDB的查询用户所属的资源队列 |
GREENPLUM_ETL_USR | STRING | ENGINE_ETL_USER | 衡石提供的GreenplumDB的ETL用户名 |
GREENPLUM_ETL_PWD | STRING | ENGINE_ETL_PASSWORD | 衡石提供的GreenplumDB的ETL用户密码 |
ETL_QUEUE | STRING | ENGINE_ETL_QUEUE | 衡石提供的GreenplumDB的ETL用户所属的资源队列 |
ENGINE_CONN_POOL_SIZE | INTEGER | ENGINE_CONN_POOL_SIZE | 引擎连接池大小,默认是10 |
INTERNAL_ENGINE_CONNECTION_TITLE | STRING | INTERNAL_ENGINE_CONNECTION_TITLE | 引擎连接显示的标题,默认是“引擎连接” |
DATASET_CACHE_MAX_SIZE_MB | INTEGER | DATASET_CACHE_MAX_SIZE_MB | 导入引擎的数据集的大小限制,单位的MB,默认50000 |
DATASET_CACHE_IMPORT_MAX_TIME | INTEGER | DATASET_CACHE_IMPORT_MAX_TIME | 导入引擎过程最大时间,单位是小时,默认是3,这个影响引擎表的回收判断,如果存在误判可以改大一些,后果是没有使用的表清理会延迟一些 |
ENGINE_UPDATE_DEFAULT_RESOURCE_GROUP_RATIO | BOOL | ENGINE_UPDATE_DEFAULT_RESOURCE_GROUP_RATIO | 是否需要更新默认资源组(default_group)的比例,默认是true |
ENGINE_DEFAULT_RESOURCE_GROUP_RATIO | INTEGER | ENGINE_DEFAULT_RESOURCE_GROUP_RATIO | 默认资源组(default_group)的比例,默认是10 |
ENGINE_RESOURCE_GROUP_PREFIX | STRING | ENGINE_RESOURCE_GROUP_PREFIX | 衡石创建的资源组的前缀,多个衡石服务共享一套引擎可以用不同前缀,默认是hengshi |
ENGINE_PLATFORM_RESOURCE_GROUP_RATIO | INTEGER | ENGINE_PLATFORM_RESOURCE_GROUP_RATIO | 平台方资源组的总比例,默认是30 |
ENGINE_TENANT_RESOURCE_GROUP_RATIO | INTEGER | ENGINE_TENANT_RESOURCE_GROUP_RATIO | 租户资源组的总比例,默认是40 |
TOTAL_TENANT_ENGINE_RESOURCE_UNIT | INTEGER | TOTAL_TENANT_ENGINE_RESOURCE_UNIT | 默认租户资源的总单元数,默认是100 |
引擎类型说明
IS_ENGINE_EMBEDDED | 含义 |
---|---|
true | 配置为衡石内嵌引擎 |
false | 配置为客户自由引擎 |
类型值 | 意义 |
---|---|
NONE | 不使用引擎 |
GREENPLUM | 使用GreenplumDB(默认) |
DORIS | 使用DorisDB |
POSTGRESQL | 使用Postgresql |
ATHENA | 使用Aws Athena |
CLIENT_GREENPLUM | 当是客户自有GreenplumDB时,配置此变量 |
REDSHIFT | 使用Aws Redshift |
MYSQL | 使用MySQL |
DAMENG | 使用达梦数据库 |
HOLOGRES | 使用阿里云的Hologres |
样例1:使用衡石提供的GreenplumDB作为引擎,并使用它作为数仓
shell config文件不用配置,这个是提供数仓的版本的脚本默认配置的,不需要做任何设置
java config文件
ENGINE_TYPE=greenplum ENGINE_DB=jdbc:postgresql://192.168.211.4:15432/postgres?user=hengshi&password=xxx&charSet=UTF-8 ENGINE_QUERY_USER=hengshi_query ENGINE_QUERY_PASSWORD=xxx ENGINE_QUERY_QUEUE=hengshi_query_queue ENGINE_ETL_USER=hengshi_etl ENGINE_ETL_PASSWORD=xxx ENGINE_ETL_QUEUE=hengshi_etl_queue OPEN_DW_TYPE=greenplum OPEN_DW_USER=dwguest OPEN_DW_DB=hengshi_hs_dw
样例2:使用衡石提供的Postgresql作为引擎,并使用它作为数仓
shell config文件, postgresql 数仓 url 也会自动配置, 只需修改 HS_ENGINE_TYPE 类型
HS_ENGINE_TYPE="postgresql" export OPEN_DW_TYPE="postgresql" export OPEN_DW_USER="dwguest" export OPEN_DW_DB="hengshi_hs_dw"
java config文件
ENGINE_TYPE=postgresql ENGINE_DB=jdbc:postgresql://192.168.211.4:45433/engine?user=hengshi&password=xxx&charSet=UTF-8 OPEN_DW_TYPE=postgresql OPEN_DW_USER=dwguest OPEN_DW_DB=hengshi_hs_dw
样例3:使用外部的Postgresql作为引擎
shell config文件
HS_ENGINE_TYPE="postgresql" IS_ENGINE_EMBEDDED=false export SYSTEM_ENGINE_URL="jdbc:postgresql://192.168.211.4:45433/engine?user=hengshi&password=xxx&charSet=UTF-8" export INTERNAL_ENGINE_DATASET_PATH="public" export INTERNAL_ENGINE_TMP_PATH="hengshi_internal_engine_tmp_schema" export INTERNAL_ENGINE_OUTPUT_PATH="common"
java config文件
ENGINE_TYPE=postgresql SYSTEM_ENGINE_URL=jdbc:postgresql://192.168.211.4:45433/engine?user=hengshi&password=xxx&charSet=UTF-8 INTERNAL_ENGINE_DATASET_PATH=public INTERNAL_ENGINE_TMP_PATH=hengshi_internal_engine_tmp_schema INTERNAL_ENGINE_OUTPUT_PATH=common
样例4:使用外部的GreenplumDB作为引擎
shell config文件
HS_ENGINE_TYPE="client_greenplum" IS_ENGINE_EMBEDDED=false export SYSTEM_ENGINE_URL="jdbc:postgresql://192.168.211.4:45433/engine?user=hengshi&password=xxx&charSet=UTF-8" export INTERNAL_ENGINE_DATASET_PATH="public" export INTERNAL_ENGINE_TMP_PATH="hengshi_internal_engine_tmp_schema" export INTERNAL_ENGINE_OUTPUT_PATH="common"
java config文件
ENGINE_TYPE=client_greenplum SYSTEM_ENGINE_URL=jdbc:postgresql://192.168.211.4:45433/engine?user=hengshi&password=xxx&charSet=UTF-8 INTERNAL_ENGINE_DATASET_PATH=public INTERNAL_ENGINE_TMP_PATH=hengshi_internal_engine_tmp_schema INTERNAL_ENGINE_OUTPUT_PATH=common
样例5:使用Aws Athena作为引擎
shell config文件
HS_ENGINE_TYPE="athena" IS_ENGINE_EMBEDDED=false export SYSTEM_ENGINE_URL="jdbc:awsathena://AwsRegion=cn-north-1;User=user;Password=pass;Catalog=AwsDataCatalog;Schema=default;S3OutputLocation=s3://wss-athena-result/result/;S3DataStorageLocation=s3://wss-athena/0-storage/" export INTERNAL_ENGINE_DATASET_PATH="AwsDataCatalog,enginedb" export INTERNAL_ENGINE_TMP_PATH="AwsDataCatalog,enginetmp" export INTERNAL_ENGINE_OUTPUT_PATH="AwsDataCatalog,enginecommon"
java config文件
ENGINE_TYPE=athena SYSTEM_ENGINE_URL=jdbc:awsathena://AwsRegion=cn-north-1;User=user;Password=pass;Catalog=AwsDataCatalog;Schema=default;S3OutputLocation=s3://wss-athena-result/result/;S3DataStorageLocation=s3://wss-athena/0-storage/ INTERNAL_ENGINE_DATASET_PATH=AwsDataCatalog,enginedb INTERNAL_ENGINE_TMP_PATH=AwsDataCatalog,enginetmp INTERNAL_ENGINE_OUTPUT_PATH=AwsDataCatalog,enginecommon
样例6:使用Aws Redshift作为引擎
shell config文件
HS_ENGINE_TYPE="redshift" IS_ENGINE_EMBEDDED=false export SYSTEM_ENGINE_URL="jdbc:redshift://test.ccveezprunlx.cn-north-1.redshift.amazonaws.com.cn:5439/engine?user=user&password=pass" export INTERNAL_ENGINE_DATASET_PATH="enginedb" export INTERNAL_ENGINE_TMP_PATH="enginetmp" export INTERNAL_ENGINE_OUTPUT_PATH="enginecommon"
java config文件
ENGINE_TYPE=redshift SYSTEM_ENGINE_URL=jdbc:redshift://test.ccveezprunlx.cn-north-1.redshift.amazonaws.com.cn:5439/engine?user=user&password=pass INTERNAL_ENGINE_DATASET_PATH=enginedb INTERNAL_ENGINE_TMP_PATH=enginetmp INTERNAL_ENGINE_OUTPUT_PATH=enginecommon
样例7:使用MySQL作为引擎
shell config文件
HS_ENGINE_TYPE="mysql" IS_ENGINE_EMBEDDED=false export SYSTEM_ENGINE_URL="jdbc:mysql://192.168.211.4:3306/testdb?user=root&password=Test123@" export INTERNAL_ENGINE_DATASET_PATH="enginedb" export INTERNAL_ENGINE_TMP_PATH="enginetmp" export INTERNAL_ENGINE_OUTPUT_PATH="enginecommon"
java config文件
ENGINE_TYPE=mysql SYSTEM_ENGINE_URL=jdbc:mysql://192.168.211.4:3306/testdb?user=root&password=Test123@ INTERNAL_ENGINE_DATASET_PATH=enginedb INTERNAL_ENGINE_TMP_PATH=enginetmp INTERNAL_ENGINE_OUTPUT_PATH=enginecommon
样例8:使用doris作为引擎
shell config文件
export HS_ENGINE_TYPE="other" export IS_ENGINE_EMBEDDED=false export SYSTEM_ENGINE_URL="jdbc:doris://10.10.10.251:9030/hengshidb?user=hengshi&password=hengshi" export INTERNAL_ENGINE_DATASET_PATH="enginedb" export INTERNAL_ENGINE_TMP_PATH="enginetmp" export INTERNAL_ENGINE_OUTPUT_PATH="enginecommon"
java config文件
ENGINE_TYPE=other SYSTEM_ENGINE_URL=jdbc:doris://10.10.10.251:9030/hengshidb?user=hengshi&password=hengshi INTERNAL_ENGINE_DATASET_PATH=enginedb INTERNAL_ENGINE_TMP_PATH=enginetmp INTERNAL_ENGINE_OUTPUT_PATH=enginecommon
样例9:使用clickhouse作为引擎
shell config文件
export HS_ENGINE_TYPE="other" export IS_ENGINE_EMBEDDED=false export SYSTEM_ENGINE_URL="jdbc:clickhouse://192.168.2.250:8123/hengshi?user=default&password=hengshipwd&cluster=hengshi_cluster" export INTERNAL_ENGINE_DATASET_PATH="enginedb" export INTERNAL_ENGINE_TMP_PATH="enginetmp" export INTERNAL_ENGINE_OUTPUT_PATH="enginecommon"
java config文件
ENGINE_TYPE=other SYSTEM_ENGINE_URL=jdbc:clickhouse://192.168.2.250:8123/hengshi?user=default&password=hengshipwd INTERNAL_ENGINE_DATASET_PATH=enginedb INTERNAL_ENGINE_TMP_PATH=enginetmp INTERNAL_ENGINE_OUTPUT_PATH=enginecommon
results matching ""
No results matching ""
衡石文档
- 产品功能一览
- 发布说明
- 新手上路
- 安装与启动
- 系统管理员手册
- 数据管理员手册
- 分析人员手册
- 数据查看员手册
- 数据服务
- 最佳实践
- 衡石分析平台 API 手册
- 附录