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 「軟件老王」,如果覺得還可以的話,關注下唄,后續更新秒知!歡迎討論區、同名公眾號留言交流!