用5000字长文记录华为仓库服务gaussdb(dws)上手过程【这次高斯不是数学家】-星辰平台

梦想橡皮擦 发表于 2022/06/01 12:09:47 2022/06/01
【摘要】 这篇操作流程可以好好实践! 快速上手本篇博客记录和说明华为仓库 gaussdb(dws)的使用步骤,如果你未购买,可以点击下述链接,从沙箱进行体验。沙箱体验链接作为一个初学者,下图就是一个非常完整的学习流程,图示如下,关键词在图片后面进行说明:gsql 客户端(pc 端安装,也叫作实验桌面)这里理解成一台云端电脑即可,点击之后,系统会自动初始化一个可操作的设备,简单理解就是一台在浏览器运行的...

这篇操作流程可以好好实践!

快速上手

本篇博客记录和说明华为仓库 gaussdb(dws)的使用步骤,如果你未购买,可以点击下述链接,从沙箱进行体验。

作为一个初学者,下图就是一个非常完整的学习流程,图示如下,关键词在图片后面进行说明:

gsql 客户端(pc 端安装,也叫作实验桌面)
这里理解成一台云端电脑即可,点击之后,系统会自动初始化一个可操作的设备,简单理解就是一台在浏览器运行的服务器。

使用 uname -a 查看设备系统信息,实验设备配置如下:

这里也可以切换到实验拓扑图,即网页中间区域的两个图标。

vpc 虚拟私有云,即 virtual private cloud
虚拟私有云是我们在华为云上一块独立的,私密的虚拟网络环境,可以在这里配置 ip 地址段,子网,安全组等信息。

接下来我们就配置一下这部分内容。

继续进入实验桌面,然后开启它内置的谷歌浏览器。

这里系统贴心的为我们登录好了对应的实验账号,你只需要操作即可。

如果浏览器没有给我们登录账号,请点击 iam 用户登录,然后将实验账号填写之后登录。

在全部服务中,找到虚拟私有云。

接下来按照步骤创建虚拟私有云。

第一步:点击右上角按钮,创建虚拟私有云

第二步:填写基本信息
所有信息保持默认即可,其中名称可以自定义,例如橡皮擦写的是 vpc-ca。
不过这里遵循星辰平台官网建议,还是用系统分配的账号名代替 ca,例如系统给我分配的是 sandbox-voyager1184
这里我就写成 vpc-sandbox-voyager1184

点击创建完毕,得到下图所示内容,表示创建成功。

学习数据仓库服务(dws)

虚拟私有云创建完毕,就可以进入数据仓库服务 dws 的实践了。

实验环境提供给我们的是创建 3 节点规模的 dws 集群。

下面我们就开始学习如何创建

进入数据仓库服务页面

继续登录实验桌面,按照下图进行操作。

依旧在右上角寻找创建数据仓库集群按钮,在出现的界面中配置如下信息。

下拉之后更多内容配置可以参考下图设置,其中 虚拟私有云 就是上文我们创建的 vpc。

  • ① 集群名称:dws-demo
  • ② 管理员用户:保持默认
  • ③ 管理员密码:bigdata_2013

公网 ip 也需要即时购买,操作如下图所示:

当出现下述界面,表示 dws 订单已经提交,等待即可。

进入 obs 桶学习

准备好 dws 之后,就可以进入存储服务 obs 的学习流程中了。

选择存储->对象存储服务 obs。

依旧在右上角寻找创建桶按钮。

按照下述参数进行配置:

  • ① 区域:华北-北京四
  • ② 桶名称: obs-voyager1190(用系统给你分配的账号即可)
  • ③ 数据冗余存储策略:多 az 存储
  • ④ 默认存储类别:标准存储
  • ⑤ 桶策略:私有
  • ⑥ 归档数据直读:关闭

出现下述界面,表示桶创建成功。

接下来继续点击桶名,然后在出现的界面中点击 对象菜单

创建一个文件夹,名称任意。

接下来使用实验环境提供的测试数据即可。

直接复制 vim /home/user/desktop/product_info0.csv 到 xfce 终端执行。

接下来复制下述文本,然后使用 :wq! 保存文件。

100,xhdk-a,2017-09-01,a,2017 shirt women,red,m,328,2017-09-04,715,good!
205,kdke-b,2017-09-01,a,2017 t-shirt women,pink,l,584,2017-09-05,40,very good!
300,jodl-x,2017-09-01,a,2017 t-shirt men,red,xl,15,2017-09-03,502,bad.
310,qqpx-r,2017-09-02,b,2017 jacket women,red,l,411,2017-09-05,436,it's nice.
150,abef-c,2017-09-03,b,2017 jeans women,blue,m,123,2017-09-06,120,good.

接下来创建 product_info1.csvproduct_info2.csv 两个文件。

product_info1.csv 文件一

200,bcqp-e,2017-09-04,b,2017 casual pants men,black,l,997,2017-09-10,301,good quality.
250,eabe-d,2017-09-10,a,2017 dress women,black,s,841,2017-09-15,299,this dress fits well.
108,cdxk-f,2017-09-11,a,2017 dress women,red,m,85,2017-09-14,22,it's really amazing to buy.
450,mmce-h,2017-09-11,a,2017 jacket women,white,m,114,2017-09-14,22,very good.
260,ocda-g,2017-09-12,b,2017 woolen coat women,red,l,2004,2017-09-15,826,very comfortable.

product_info1.csv 文件二

980,"zkds-j",2017-09-13,"b","2017 women's cotton clothing","red","m",112,,,
98,"fkqb-i",2017-09-15,"b","2017 new shoes men","red","m",4345,2017-09-18,5473
50,"dmqy-k",2017-09-21,"a","2017 pants men","red","37",28,2017-09-25,58,"good","good","good"
80,"gklw-l",2017-09-22,"a","2017 jeans men","red","39",58,2017-09-25,72,"very comfortable."
30,"hwec-l",2017-09-23,"a","2017 shoes women","red","m",403,2017-09-26,607,"good!"
40,"iqpd-m",2017-09-24,"b","2017 new pants women","red","m",35,2017-09-27,52,"very good."
50,"lpec-n",2017-09-25,"b","2017 dress women","red","m",29,2017-09-28,47,"not good at all."
60,"nqab-o",2017-09-26,"b","2017 jacket women","red","s",69,2017-09-29,70,"it's beautiful."
70,"hwnb-p",2017-09-27,"b","2017 jacket women","red","l",30,2017-09-30,55,"i like it so much"
80,"jkhu-q",2017-09-29,"c","2017 t-shirt","red","m",90,2017-10-02,82,"very good."

此时三个文件都出现在桌面上。

下面我们上传这三个文件到桶对象的文件夹中即可。

选中 3 个文件之后的效果。

上传成功的效果图。

最终一步:通过软件实现对数据的操作。

准备工作到这里已经完成,下述都是软件的操作了。
继续按照上文的流程打开 dws,然后找到连接管理按钮,下载 gsql 命令行客户端。

下载软件完毕之后,就可以将该文件拷贝到 /opt 目录。

这里实验手册有些问题,因为 home 目录无操作权限,顾下述命令无法被执行。
cp /home/user/downloads/dws_client_8.1.x_redhat_x64.zip /home

由于是在测试环境,所以我们直接解压下载的文件,然后执行对应命令即可。

unzip dws_client_8.1.x_redhat_x64.zip
source gsql_env.sh

通过公网 ip 连接 dws 数据库

gsql -d gaussdb -h <dws公网ip> -u dbadmin -p 8000 -r -w <dbadmin密码>;

其中公网 ip 可以从 dws 集群服务的面板获取,密码就是设置的 bigdata_2013。

进入数据仓库服务,呈现的效果图如下所示:

正式使用数据前,还需要配置一下凭证,在浏览器右上角用户信息位置选择我的凭证

选择访问密钥,然后点击立即下载。

进入 download 文件夹,然后使用 cat credentials.csv 命令查看 ak 和 sk 值。

接下来继续使用终端命令行,用 sql 语句创建 obs 外表。

create foreign table product_info_ext
(
product_price integer not null,
product_id char(30) not null,
product_time date,
product_level char(10),
product_name varchar(200),
product_type1 varchar(20),
product_type2 char(10),
product_monthly_sales_cnt integer,
product_comment_time date,
product_comment_num integer,
product_comment_content varchar(200)
)
server gsmpp_server
options(
location 'obs://obs桶名称/input_data/',
format 'csv' ,
delimiter ',',
encoding 'utf8',
header 'false',
access_key 'ak值',
secret_access_key 'sk值',
fill_missing_fields 'true',
ignore_extra_data 'true'
)
read only
log into product_info_err
per node reject limit 'unlimited';

创建完毕还需要熟悉一些 gaussdb 的常用命令,例如:

  • \l:列出所有数据库
  • \d:列出当前数据库下的表
  • \q: 退出登录

从手册在复制一份 sql 建表语句。

create table product_info
(
product_price integer not null,
product_id char(30) not null,
product_time date ,
product_level char(10) ,
product_name varchar(200) ,
product_type1 varchar(20) ,
product_type2 char(10) ,
product_monthly_sales_cnt integer ,
product_comment_time date ,
product_comment_num integer ,
product_comment_content varchar(200)
)
with (
orientation = column,
compression=middle
)
distribute by hash (product_id);

接下来想要获取一下表数据,然后果然出现了错误,即下述命令报错

select * from product_info_ext

星辰平台官网实验步骤中也对此进行了说明,需要我们修改 sk 值,原因是 sk 值不包含 user

重新创建该表之后,可以进行数据查询,删除外表命令为:

drop foreign table product_info_ext;

接下来就是最后一个步骤,从 obs 外表插入数据。

insert into product_info select * from product_info_ext;

简单查询一下 product_info 表格数据,如下所示:

select * from product_info;

数据恰好是 20 条,对应了前文创建的 product_info0.csvproduct_info1.csvproduct_info2.csv 表。

【这次高斯不是数学家】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/345260

【星辰平台的版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请发送邮件至:;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。