greenplum数据库常用操作

Posted ruanjianlaowang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了greenplum数据库常用操作相关的知识,希望对你有一定的参考价值。

1. 场景描述

greenplum集群部署好后,软件老王在实际使用过程中碰到一些问题,简单记录下,希望能帮到有需要的朋友。

2 .解决方案

2.1 gpcc监控地址

说明:非常重要,greenplum集群监控,可以监控数据库集群使用情况,包括cpu、内存、硬盘,执行情况等。

http://192.168.85.158:28080  
gpmon
gpmon

2.2 典型创建表

软件老王说明:

(1)WITH (appendonly=true, compresslevel=5)表明是只在后面新增数据,压缩比是5级(1-10);

(2)DISTRIBUTED BY (laowang),分布键,按照这个字段分布到各个segement服务器;

(3)PARTITION ,按时间分区。

CREATE TABLE "public"."t_ruanjianlaowang" (
"laowang" text,
"timestamp" text,
)
WITH (appendonly=true, compresslevel=5)
DISTRIBUTED BY (laowang)
PARTITION BY RANGE(timestamp)
(
PARTITION t_ruanjianlaowang_20170701 START (‘2017-06-01 00:00:00‘::timestamp without time zone) END (‘2017-07-01 00:00:00‘::timestamp without time zone),
PARTITION t_ruanjianlaowang_20170801 START (‘2017-07-01 00:00:00‘::timestamp without time zone) END (‘2017-08-01 00:00:00‘::timestamp without time zone)
)

2.3 创建测试表,测试分页数据是否重复

说明:创建测试表,测试分页数据是否重复

--创建测试表
create table test_ischongfu2 as select * from t_ruanjianlawoang limit 1 offset 0; 

--插入数据
insert into test_ischongfu2  select * from t_ruanjianlawoang limit 1000 offset 0;
insert into test_ischongfu2  select * from t_ruanjianlawoang limit 1000 offset 1001;
insert into test_ischongfu2  select * from t_ruanjianlawoang limit 1000 offset 2001;
insert into test_ischongfu2  select * from t_ruanjianlawoang limit 1000 offset 3001;
insert into test_ischongfu2  select * from t_ruanjianlawoang limit 1000 offset 4001;

2.4 创建外部表

软件老王说明:

创建外部表,速度超级快,10万数据,几秒就完成了。

CREATE EXTERNAL TABLE t_ex_ruanjianlaowang (
laowang1	double precision,
laowang2	double precision,
laowang3	 varchar(100)
) location (‘gpfdist://192.168.85.158:8081/d.csv‘) format ‘csv‘ (DELIMITER ‘,‘);

2.5 删除外部表

说明:spark导入数据后,会生成很多外部表垃圾数据,也可以批量删除下。

drop external table spark_3f59d3ff03a55cd3_3d9d854163f8f07a_driver_73   ;
drop external table spark_3f59d3ff03a55cd3_3d9d854163f8f07a_driver_72   ;
drop external table spark_3f59d3ff03a55cd3_3d9d854163f8f07a_driver_60   

2.6 正常建表

说明:

不分区,5级压缩,分布键为laowang1。

CREATE TABLE t_ruanjianlaowang(
laowang1	double precision,
laowang2	double precision
)
WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5)
distributed by (laowang1);

2.7 greenplum创建资源队列

说明:集群共享的时候,对greenplum集群资源进行分配。

----新增插入role
create role gpinsertrole with login password ‘gpinsertrole‘;
--权限控制感觉有问题,直接在navcat上更改为超级管理员可能会快点
GRANT ALL PRIVILEGES ON DATABASE "db_ruanjianlawoang" TO gpinsertrole;

create resource queue q_pginsert with (ACTIVE_STATEMENTS=10,MEMORY_LIMIT=‘2000MB‘,PRIORITY=HIGH,COST_OVERCOMMIT=true,MIN_COST=100,MAX_COST=10000);
alter role gpinsertrole resource queue q_pginsert;

2.8 有关是否走索引

大批量插入数据后,有时候会不走索引,需要操作下。

Greenplum中的vacuum和analyze

vacuum t_ruanjianlaowang;

I’m 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!

以上是关于greenplum数据库常用操作的主要内容,如果未能解决你的问题,请参考以下文章

greenplum数据库常用操作

Greeplum 系列 安装部署

Greenplum 实时数据仓库实践——Greenplum安装部署

Greenplum 实时数据仓库实践——Greenplum安装部署

提效小技巧——记录那些不常用的代码片段

Greenplum匿名代码块错误?