greenplum数据库常用操作
- 2020 年 3 月 28 日
- 笔记
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 “软件老王”,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!