本节主要从snova基础环境构建入手,为snova用户提供直观操作感受。
目录:
基本概念:
名词 | 释义 |
---|---|
集群 | 集群是Snova 的基本使用单位,一个集群通常由 2 个 master 节点和多个计算节点组成。 每个用户根据业务需求可在多地建立多个集群。 |
计算节点 | 集群的基本存储和计算单元,每个集群计算节点个数不少于 2 个,随着计算节点增加,可线性提升集群容量和性能。 |
节点规格 | 计算节点的资源配置,包括CPU 、内存、磁盘等 。不同 节点规格性能 和存储量 不同。 |
节点数量 | 每个集群的计算节点数量, 2 个起售,不同规格 的 节点对应不同 的 节点数量限制 。 |
MPP | Massively Parallel Processing,一种分布式 Shared Nothing 计算架构,通过多个无共享的节点同时并行计算以提升性能。 |
snova集群购买及部署流程:
登录腾讯云平台进入snova集群购买页面:
地址: https://buy.cloud.tencent.com/snova#/?region=ap-guangzhou
注意点:
注意点:
计算密集型 | 规格名称以 nc 开始,特点是可以提供更好的 I/O 能力,带来更高的性能。 |
---|---|
存储密集型 | 规格名称以 ns 开始,特点是可以提供更大、更实惠的存储空间,满足更高的存储需 |
节点规格 | 节点规格CPU核数 | 内存(G) | 存储类型 | 存储空间 TB | 状态 |
---|---|---|---|---|---|
nc.large | 4 | 16 | SSD | 0.16 | 已上线 |
控制台包括:
snova连接的三种方式:
yum install postgresql.x86_64 -y
执行登录命令:
psql -hxxxx -p 5436 -d postgres -Utestsnova
-h: snova内网地址 (控制台页面获取)
-p: 端口
-d: 数据库名称
-U: 数据库用户名
通常我们使用pgAdmin作为客户端工具,它支持的操作系统包括Linux,Windows,Mac OS X。
windows环境下,下载安装包,安装完成后,输入snova公网ip和端口进行连接
客户端具体操作方法可参考如下文档:https://www.jianshu.com/p/e7fe45a10cee
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
snova与cos数据交互需要用到cos_ext扩展插件。cos_ext是访问cos文件的外部数据访问插件, 通过DDL定义外部表, 可以按照普通的数据表执行DML,实现对cos数据的操作。具备如下特性:
具体实例如下:
CREATE EXTENSION IF NOT EXISTS cos_ext;
定义cos本地表和只读外表:
CREATE TABLE cos_local_tbl (c1 int, c2 text, c3 int) DISTRIBUTED BY (c1);
CREATE READABLE EXTERNAL TABLE cos_tbl (c1 int, c2 text, c3 int) LOCATION('cos://cos.ap-guangzhou.myqcloud.com/simple-bucket/from_cos/ secretKey=xxx secretId=xxx')
FORMAT 'csv';
//cos外表: 指定读取广州simple-bucket下的所有文件。
要点:
LOCATION:cos地址,通过腾讯云cos管理页面获取(存储桶域名+文件夹地址)
secretKey=xxx secretId=xxx' //通过腾讯云API密钥管理页面获取 https://console.cloud.tencent.com/cam/capi
接下来,构造测试数据并上传到cos文件夹下:
1,simple line 1,1
2,simple line 1,1
3,simple line 1,1
4,simple line 1,1
5,simple line 1,1
6,simple line 2,1
7,simple line 2,1
8,simple line 2,1
9,simple line 2,1
INSERT INTO cos_local_tbl SELECT * FROM cos_tbl;
SELECT count(1) FROM cos_local_tbl;
SELECT count(1) FROM cos_tbl;
操作类似导入,具体实现如下:
CREATE EXTENSION IF NOT EXISTS cos_ext; //定义cos扩展
CREATE TABLE cos_local_tbl (c1 int, c2 text, c3 int) DISTRIBUTED BY (c1); //定义本地表
CREATE WRITABLE EXTERNAL TABLE cos_tbl_wr (c1 int, c2 text, c3 int) LOCATION('cos://cos.ap-guangzhou.myqcloud.com/simple-bucket/to-cos/ secretKey=xxx secretId=xxx')
FORMAT 'csv';
//定义只写外表
insert into cos_local_tbl values
(1, 'simple line 1' , 1),
(2, 'simple line 2', 2),
(3, 'simple line 3', 3) ,
(4, 'simple line 4', 4) ,
(5, 'simple line 5', 5) ,
(6, 'simple line 6', 6) ,
(7, 'simple line 7', 7) ,
(8, 'simple line 8', 8) ,
(9, 'simple line 9', 9);
INSERT INTO cos_tbl_wr SELECT * FROM cos_local_tbl;
可通过cos页面文件夹下查看导出文件。
简单思路:上传数据文件到cos目录下,定义cos扩展和只读外部表访问cos数据进行简单的数据分析。
将文件上传到 simple-bucket , for-dml 目录下,内容如下:
1,simple line 1,1
2,simple line 1,1
3,simple line 1,1
4,simple line 1,1
5,simple line 1,1
6,simple line 2,1
7,simple line 2,1
8,simple line 2,1
9,simple line 2,1
CREATE EXTENSION IF NOT EXISTS cos_ext;
CREATE READABLE EXTERNAL TABLE cos_tbl_dml (c1 int, c2 text, c3 int)
LOCATION('cos://cos.ap-guangzhou.myqcloud.com/simple-bucket/for-dml/ secretKey=xxx secretId=xxx')FORMAT ‘csv’;
SELECT c2, sum(c1) FROM cos_tbl GROUP BY c2; //求和分析
本节内容到此,未完待续。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。