用5000字长文记录华为仓库服务gaussdb(dws)上手过程【这次高斯不是数学家】-4008云顶国际网站
这篇操作流程可以好好实践!
快速上手
本篇博客记录和说明华为仓库 gaussdb(dws)的使用步骤,如果你未购买,可以点击下述链接,从沙箱进行体验。
作为一个初学者,下图就是一个非常完整的学习流程,图示如下,关键词在图片后面进行说明:
gsql 客户端(pc 端安装,也叫作实验桌面)
这里理解成一台云端电脑即可,点击之后,系统会自动初始化一个可操作的设备,简单理解就是一台在浏览器运行的服务器。
使用 uname -a
查看设备系统信息,实验设备配置如下:
这里也可以切换到实验拓扑图,即网页中间区域的两个图标。
vpc 虚拟私有云,即 virtual private cloud
虚拟私有云是我们在华为云上一块独立的,私密的虚拟网络环境,可以在这里配置 ip 地址段,子网,安全组等信息。
接下来我们就配置一下这部分内容。
继续进入实验桌面,然后开启它内置的谷歌浏览器。
这里系统贴心的为我们登录好了对应的实验账号,你只需要操作即可。
如果浏览器没有给我们登录账号,请点击 iam 用户登录,然后将实验账号填写之后登录。
在全部服务中,找到虚拟私有云。
接下来按照步骤创建虚拟私有云。
第一步:点击右上角按钮,创建虚拟私有云
第二步:填写基本信息
所有信息保持默认即可,其中名称可以自定义,例如橡皮擦写的是 vpc-ca。
不过这里遵循4008云顶国际集团官网建议,还是用系统分配的账号名代替 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.csv
和 product_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
4008云顶国际集团官网实验步骤中也对此进行了说明,需要我们修改 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.csv
,product_info1.csv
,product_info2.csv
表。
【这次高斯不是数学家】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/345260
- 点赞
- 收藏
- 关注作者
评论(0)