共享集群(MaxCompute BI加速版)
本文以一个简单的流程为您介绍如何使用交互式分析Hologres共享集群(MaxCompute BI加速版)能力。
前提条件
阿里云账号注册,详情请参见阿里云账号注册流程。
实名认证,详情请参见个人实名认证或企业实名认证和个体工商户认证。
开通Quick BI,详情请参见Quick BI购买、升级、降级、续费、欠费。
使用限制
共享集群(MaxCompute BI加速版)的使用限制如下:
不支持使用Hologres的内部表功能,仅支持新建外部表加速查询MaxCompute数据。
实例为共享资源,不支持升配及降配。
查询分区表时,每次最多扫描1024个分区。
目前不支持MAP、LIST及STRUCT数据类型。MaxCompute与Hologres的数据类型映射请参见数据类型汇总。
不支持读取MaxCompute加密数据。
每个查询中对单张表的最大数据扫描量为200GB。
提交的查询语句大小不超过100KB。
默认查询超时时间为30分钟,您可以通过statement_timeout参数修改查询超时时间。
单个查询语句的Join及Group By的总数量最大值为20。
不支持使用COPY命令进行导入导出数据。
仅支持创建hive_compatible extension,不支持创建其他extension,详情请参见GET_JSON_OBJECT。
支持对表进行手动Analyze操作,不支持对表进行Auto Analyze操作。
共享集群不支持DML操作,仅支持如下DDL。
DATABASE
CREATE DATABASE。
ALTER DATABASE。
DROP DATABASE。
SCHEMA
CREATE SCHEMA。
ALTER SCHEMA。
DROP SCHEMA。
FOREIGN TABLE
CREATE FOREIGN TABLE。
DROP FOREIGN TABLE。
IMPORT FOREIGN SCHEMA。
共享集群(MaxCompute BI加速)的使用流程
购买实例。
使用阿里云主账号登录阿里云官网。
单击立即购买,进入购买页面。
商品类型选择共享集群(湖仓加速版),输入实例名称,选择目标地域,单击立即购买。
新建数据库。
成功购买实例后,您可以进入Hologres的管理控制台,查看实例状态。
成功创建实例后,系统默认生成一个名为postgres的数据库,用于监控管理,实际业务需要您新建数据库,操作如下:
在实例列表页面,单击实例名称。
您也可以单击目标实例操作列的管理,进入实例详情页。
在实例详情页左侧导航栏,单击数据库管理。
在DB授权页面,单击新增数据库。
在新增数据库对话框,选择实例名,输入数据库名称,并根据实际业务选择是否开启简单权限模型。
单击确认。
您可以在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。
否 测试连通性 检测连接是否成功: - 显示测试通过表示连接成功。
- 显示测试不通过表示连接失败。
否 连接后登录 您可以选择是否登录该实例。 - 是:该实例会登录并展示在左侧已登录实例列表中。
- 否:该实例会展示在左侧未登录实例列表中。
是 - 公网:支持华东2(上海)、华南1(深圳)、华北2(北京)、华东1(杭州)、亚太东南1(新加坡)、中国(香港)、亚太东南3(吉隆坡)及美国西部1(硅谷)等地域。
单击确定。
MaxCompute加速查询。
实例成功连接HoloWeb后,您可以创建外部表,加速查询MaxCompute的数据。
本次实验以在HoloWeb中新建外部表查询MaxCompute公共数据集中public_data项目的表数据为例,步骤如下:
说明获取表的方法请参见公开数据集。
新建外部表。
单击
,使用可视化的方式创建外部表。在新建外部表的编辑页面,配置各项参数。
参数
描述
模式
模式名称。
您可以选择默认创建的public模式,也可以选择新建的模式名称。
表名
新建的Hologres外部表名称。
输入目标MaxCompute表名后,将会自动创建同名外部表。在创建时不支持更改表名,如果您需要更改表名,可以在外部表创建成功后,在已登录实例列表中右键单击目标表进行修改。
描述
新建的Hologres外部表描述。
类型
外部表类型。
目前仅支持MaxCompute。
服务器列表
您可以直接调用Hologres底层已创建的名为odps_server的外部表服务器。详细原理请参见Postgres FDW。
表
MaxCompute的项目名和表名。
格式为project.table_name。
说明目前暂不支持跨地域查询外部表数据。
输入表名称后,会显示外部源表的所有字段,创建外部表时也将会默认创建所有字段。如果您需要创建部分字段,请使用SQL语句创建外部表,请参见CREATE FOREIGN TABLE。
输入MaxCompute表的名称,就可以索引出表的字段,您可以根据实际业务,选择需要同步的表字段,单击提交。
您也可以新建一个Query查询窗口,使用SQL语句批量创建外部表。示例语句如下。创建Query查询窗口请参见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');
预览外部表数据。
成功新建外部表后,在元数据管理页面左侧实例管理目录下,鼠标双击新建的外部表,在表编辑页面单击数据预览,查看MaxCompute表的数据。
您也可以在Query查询模块中新建SQL窗口,使用SQL命令批量创建外部表,创建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');
加速查询外部表数据。
加速查询外部表数据的示例SQL语句如下。
# 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;
连接BI工具进行可视化分析。
Hologres兼容Postgres,支持直接对接BI工具。新建外部表加速查询MaxCompute后,您可以根据业务情况选择连接合适的BI工具,进行可视化分析。Hologres支持的BI工具请参见概述。
本次实验以Quick BI为例,为您介绍如何连接BI工具。步骤如下:
添加数据源。
添加Hologres数据源详情请参见云数据源Hologres。
可视化分析数据。
数据类型映射
当前Hologres支持的数据类型与MaxCompute数据类型映射关系,请参见数据类型汇总。