Hologres共享集群(湖仓加速版)提供Severless的在线查询加速服务,基于存算分离的架构,针对MaxCompute交互式分析场景,无需将数据导出,即可将查询性能提升数十倍以上。
- 截止2024年4月1日,Hologres共享集群(湖仓加速版)限时5折,开通地址>
查询优势:
性能提升:针对湖仓查询,性能提升数十倍(来源客户测试数据)
使用灵活:按量计费,不查询不收费,可使用消费预警进行查询用量管控
架构简化:无需数据移动,保持数据一致性,维护及存储成本更低
湖仓支持:除了MaxCompute,也可以加速查询OSS、DLF等
Hologres共享集群(湖仓加速版)加速查询MaxCompute
使用准备
使用流程
- 购买实例。
- 使用阿里云主账号登录阿里云官网。
- 进入Hologres产品详情页。
- 单击立即购买,进入购买页面。
- 商品类型选择共享集群(湖仓加速版),输入实例名称,选择目标地域,单击立即购买。
- 新建数据库。成功购买实例后,您可以进入Hologres的管理控制台,查看实例状态。成功创建实例后,系统默认生成一个名为postgres的数据库,用于监控管理,实际业务需要您新建数据库,操作如下:
- 在实例列表页面,单击实例名称。您也可以单击目标实例操作列的管理,进入实例详情页。
- 在实例详情页左侧导航栏,单击数据库管理。
- 在DB授权页面,单击新增数据库。
- 在新增数据库对话框,选择实例名,输入数据库名称,并根据实际业务选择是否开启简单权限模型。Hologres为您提供了专家模式授权和简单权限模型两套授权体系。专家模式授权与PostgreSQL的权限模型完全一致,简称专家模式,详情请参见专家权限模型。简单权限模型是Hologres基于实际业务,为了简化授权操作而抽象的一套简单权限模型(SPM),详情请参见简单权限模型概述。创建数据库时,为了方便权限管理,建议您开启简单权限模型。
- 单击确认。您可以在DB授权页面,查看已创建的数据库。
- 连接开发工具。Hologres兼容Postgres,提供JDBC/ODBC Driver。新建数据库后,您可以使用实例连接开发工具进行数据开发。您可以根据业务需求选择合适的开发工具,详情请参见概述。本次试验以Hologres的自研开发工具HoloWeb为您演示,如何使用实例连接开发工具,步骤如下:
- 在Hologres管理控制台的概览页面,单击前往HoloWeb,进入HoloWeb开发界面。
- 单击元数据管理 > 连接实例。
- 配置连接实例对话框的参数。
参数 | 描述 | 是否必选 |
网络类型 | - 公网:支持华东2(上海)、华南1(深圳)、华北2(北京)、华东1(杭州)、亚太东南1(新加坡)、中国(香港)、亚太东南3(吉隆坡)及美国西部1(硅谷)等地域。
图标的为公网类型的实例。 - VPC:仅支持配置为HoloWeb所登录的地域。
图标的为VPC类型的实例,该实例不支持编辑详细信息和删除。
| 否 |
实例名称 | 选择当前账号已创建的实例。 | 否 |
名称 | 选择实例名称后,连接名称默认显示为所选实例的名称。您也可以重新自定义连接名称。 | 是 |
描述 | 连接的描述信息。 | 否 |
域名 | Hologres实例的网络域名。您可以进入Hologres管理控制台 的实例详情页,从网络信息中获取域名。如果您配置了实例名称,则系统自动为您匹配该实例的域名。您也可以选择手动输入域名。 | 是 |
端口 | Hologres实例的网络端口。您可以进入Hologres管理控制台 的实例详情页,从网络信息获取端口。如果您配置了实例名称,则系统自动为您匹配该实例的端口。您也可以选择手动输入端口地址。 | 是 |
登录方式 | - 当前账户免密登录:无需输入账号及密码,直接使用当前账户登录。
- 账户密码登录:您可以输入自己或者其他账户的账号及密码,并登录。
| 是 |
账号 | 登录方式配置为账户密码登录时,需要配置该参数。当前账号的AccessKey ID。您可以单击AccessKey 管理 ,获取AccessKey ID。 | 否 |
密码 | 登录方式配置为账户密码登录时,需要配置该参数。当前账号的AccessKey Secret。您可以单击AccessKey 管理 ,获取AccessKey Secret。 | 否 |
测试连通性 | 检测连接是否成功: - 显示测试通过表示连接成功。
- 显示测试不通过表示连接失败。
| 否 |
连接后登录 | 您可以选择是否登录该实例。 - 是:该实例会登录并展示在左侧已登录实例列表中。
- 否:该实例会展示在左侧未登录实例列表中。
| 是 |
- 单击确定。
- MaxCompute加速查询。实例成功连接HoloWeb后,您可以创建外部表,加速查询MaxCompute的数据。本次实验以在HoloWeb中新建外部表查询MaxCompute公共数据集中public_data项目的表数据为例,步骤如下:说明 获取表的方法请参见公开数据集。
- 新建外部表。
- 单击元数据管理 > MaxCompute加速 > 创建外部表,使用可视化的方式创建外部表。
- 在新建外部表的编辑页面,配置各项参数。
参数 | 描述 |
模式 | 模式名称。您可以选择默认创建的public模式,也可以选择新建的模式名称。 |
表名 | 新建的Hologres外部表名称。输入目标MaxCompute表名后,将会自动创建同名外部表。在创建时不支持更改表名,如果您需要更改表名,可以在外部表创建成功后,在已登录实例列表中右键单击目标表进行修改。 |
描述 | 新建的Hologres外部表描述。 |
类型 | 外部表类型。目前仅支持MaxCompute。 |
服务器列表 | 您可以直接调用Hologres底层已创建的名为odps_server的外部表服务器。详细原理请参见Postgres FDW 。 |
表 | MaxCompute的项目名和表名。格式为project.table_name。说明 - 目前暂不支持跨地域查询外部表数据。
- 输入表名称后,会显示外部源表的所有字段,创建外部表时也将会默认创建所有字段。如果您需要创建部分字段,请使用SQL语句创建外部表,请参见CREATE FOREIGN TABLE。
|
- 输入MaxCompute表的名称,就可以索引出表的字段,您可以根据实际业务,选择需要同步的表字段,单击提交。
- 您也可以新建一个Query查询窗口,使用SQL语句批量创建外部表。示例语句如下。创建Query查询窗口请参见SQL窗口 。
- 预览外部表数据。成功新建外部表后,在元数据管理页面左侧实例管理目录下,鼠标双击新建的外部表,在表编辑页面单击数据预览,查看MaxCompute表的数据。
您也可以在Query查询模块中新建SQL窗口,使用SQL命令批量创建外部表,创建SQL窗口详情请参见SQL窗口。批量创建外部表的示例语句如下。 - 加速查询外部表数据。加速查询外部表数据的示例SQL语句如下。
- 连接BI工具进行可视化分析。Hologres兼容Postgres,支持直接对接BI工具。新建外部表加速查询MaxCompute后,您可以根据业务情况选择连接合适的BI工具,进行可视化分析。Hologres支持的BI工具请参见概述。本次实验以Quick BI为例,为您介绍如何连接BI工具。步骤如下:
- 登录Quick BI管理控制台。
- 添加数据源。添加Hologres数据源详情请参见云数据源Hologres。
- 可视化分析数据。成功连接数据源后,您可以使用即席分析SQL的方式可视化分析数据,详情请参见新建即席分析和自定义SQL。
IMPORT FOREIGN SCHEMA public_data LIMIT to(
customer,
customer_address,
customer_demographics,
inventory,item,
date_dim,
warehouse)
FROM server odps_server INTO PUBLIC options(if_table_exist 'update');
IMPORT FOREIGN SCHEMA public_data LIMIT to(
customer,
customer_address,
customer_demographics,
inventory,item,
date_dim,
warehouse)
FROM server odps_server INTO PUBLIC options(if_table_exist 'update');
# SQL1: 查询首选客户分布情况,按人数降序排列。
SELECT c_preferred_cust_flag,
count(*) AS cnt
FROM customer
WHERE c_preferred_cust_flag IS NOT NULL
GROUP BY c_preferred_cust_flag
ORDER BY cnt DESC LIMIT 10;
# SQL2: 查询客户年龄人数大于1000的分布情况,按人数降序排列。
SELECT c_birth_year,
count(*) AS cnt
FROM customer
WHERE c_birth_year IS NOT NULL
GROUP BY c_birth_year HAVING count(*) > 1000
ORDER BY cnt DESC LIMIT 10;
# SQL3: 查询客户所在城市的人数大于10的分布情况,按人数降序排序。
SELECT ca_city,
count(*) AS cnt
FROM customer ,
customer_address
WHERE c_current_addr_sk = ca_address_sk
AND ca_city IS NOT NULL
GROUP BY ca_city HAVING count(*) > 10
ORDER BY cnt DESC LIMIT 10;
# SQL4: 查询首选客户出生于1980~1990年且所在城市的人数大于10的分布情况,按人数降序排列。
SELECT ca_city,
count(*) AS cnt
FROM customer ,
customer_address
WHERE c_current_addr_sk = ca_address_sk
AND c_birth_year >= 1980
AND c_birth_year < 1990
AND c_preferred_cust_flag = 'Y'
AND ca_city IS NOT NULL
GROUP BY ca_city HAVING count(*) > 10
ORDER BY cnt DESC LIMIT 10;
使用限制
共享集群(湖仓加速版)的使用限制如下:
- 不支持使用Hologres的内部表功能,仅支持新建外部表加速查询MaxCompute数据。
- 实例为共享资源,不支持升配及降配。
- 查询分区表时,每次最多扫描1024个分区。
- 目前不支持MAP、LIST及STRUCT数据类型。MaxCompute与Hologres的数据类型映射请参见数据类型汇总。
- 每个查询中对单张表的最大数据扫描量为200GB。
- 提交的查询语句大小不超过100KB。
- 默认查询超时时间为30分钟,您可以通过statement_timeout参数修改查询超时时间。
- 单个查询语句的Join及Group By的总数量最大值为20。
- 不支持使用COPY命令进行导入导出数据。
- 仅支持创建hive_compatible extension,不支持创建其他extension,详情请参见GET_JSON_OBJECT。
- 支持对表进行手动Analyze操作,不支持对表进行Auto Analyze操作。
- 共享集群不支持DML操作,仅支持如下DDL。
- CREATE DATABASE。
- ALTER DATABASE。
- DROP DATABASE。
- CREATE SCHEMA。
- ALTER SCHEMA。
- DROP SCHEMA。
- CREATE FOREIGN TABLE。
- DROP FOREIGN TABLE。
- IMPORT FOREIGN SCHEMA。
数据类型映射
当前Hologres支持的数据类型与MaxCompute数据类型映射关系,请参见数据类型汇总。
