用5000字长文记录华为仓库服务GaussDB(DWS)上手过程这次高斯不是数学家

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用5000字长文记录华为仓库服务GaussDB(DWS)上手过程这次高斯不是数学家相关的知识,希望对你有一定的参考价值。

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

快速上手

本篇博客记录和说明华为仓库 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 表。

以上是关于用5000字长文记录华为仓库服务GaussDB(DWS)上手过程这次高斯不是数学家的主要内容,如果未能解决你的问题,请参考以下文章

华为云原生之数据仓库服务GaussDB(DWS)的深度使用与应用实践

类型即正义,TypeScript 从入门到实践:5000字长文带你重新认识泛型

5000字长文可用性测试介绍建议收藏

万字长文,揭秘华为数据治理体系!

万字长文肝Git----从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意建议收藏

万字长文肝Git----从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意建议收藏