Gauss DB数据库相关问题
数据量过大通过dmp进行数据传输
前言:本来一开始想在Data Studio中直接右键模式选择“导出DDL和数据”,但是数据量小的模式都成功了,但是当模式比较大时就无法成功,后来只能通过gs_dump方法了
[root@RSJ-GAUSS-DN-01 ~]# su - omm
[omm@RSJ-GAUSS-DN-01 ~]$ source /mnt/huiq/mppdbclient/bigdata_env
传输语句:
[omm@RSJ-GAUSS-DN-01 ~]$ gs_dump -W Huawei@Mppp -U hw_cs -f /srv/BigData/mppdb/data3/tmpfiles/tpcds.dmp -p 25308 db_perfect -n tpcds -F c
完成后显示:
gs_dump[port='25308'][db_perfect][2020-07-20 11:15:28]: The total objects number is 916.
gs_dump[port='25308'][db_perfect][2020-07-20 11:15:29]: [100.00%] 916 objects have been dumped.
gs_dump[port='25308'][db_perfect][2020-07-03 15:40:34]: dump database db_perfect successfully
gs_dump[port='25308'][db_perfect][2020-07-03 15:40:34]: total time: 573849 ms
传输完成后把导出的tpcds.dmp文件再还原到联通云上执行命令:
先在root模式下给传输的文件权限777为最高权限
chmod 777 文件路径
给权限后变绿
需要进入omm
[root@192-120-23-3 ]# su - omm
[omm@192-120-23-3 ~]$ source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
gs_restore -W Liantong12#$ -U renshedb1 /mnt/模式名.dmp -p 25308 -d "库名" -e
Data Studio只读模式时
在Data Studio中执行语句显示只读模式
(1)需要进入omm 再source
[root@RSJ-HD-DN-01 ~]# su - omm
Last login: Thu Jul 23 14:56:39 CST 2020
[omm@RSJ-GAUSS-DN-01 ~]$ source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile
(2)执行解除只读模式命令
gs_guc reload -Z coordinator -N all -I all -c "default_transaction_read_only=off"
gs_guc reload -Z datanode -N all -I all -c "default_transaction_read_only=off"
得到结果:
[omm@RSJ-GAUSS-DN-01 ~]$ gs_guc reload -Z coordinator -N all -I all -c "default_transaction_read_only=off"
Begin to perform gs_guc for all coordinators.
Total instances: 3. Failed instances: 0.
Success to perform gs_guc!
[omm@RSJ-GAUSS-DN-01 ~]$ gs_guc reload -Z datanode -N all -I all -c "default_transaction_read_only=off"
Begin to perform gs_guc for all datanodes.
Total instances: 36. Failed instances: 0.
Success to perform gs_guc!
查看数据库中模式大小
可以在Data Studio中执行
select pg_size_pretty(cast(sum(pg_relation_size(schemaname||'.'||tablename))as bigint)),schemaname from pg_tables t inner join pg_namespace d on t.schemaname=d.nspname group by schemaname;
得出显示结果:
Data Studio数据清理
[root@RSJ-GAUSS-DN-01 ~]# su - omm
[omm@RSJ-GAUSS-DN-01 ~]$ source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile
[omm@RSJ-GAUSS-DN-01 ~]$ gsql -d db_perfect -p 25308 -r
db_perfect=# vacuum full;
Data Studio整理表数据
有一些大表因为数据量大而进行数据整理让查询速度更快
**analyze** 模式.表名
查看语句存在哪些问题
source /opt/mppdbclient/bigdata_env
gsql -d DB_ZTK -h 192.123.84.11 -U renshedb1 -p 25308 -W Liantong12#$ -r
先关闭表
set enable_fast_query_shipping=off;
将数据打印到文件里
\o out.txt
执行
explain performance sql语句
创建分区表
drop table if exists 库名.表名;
create table 库名.表名(
列
)
with (orientation=column(列存储), compression=no)
distribute by hash(主键,分区列)
PARTITION BY RANGE (分区列) (
PARTITION 分区列命名 VALUES LESS THAN('分区列'),
ENABLE ROW MOVEMENT;
创建hive与高斯映射外表
create foreign table 库.表名(
)
SERVER server_bofei_java2
OPTIONS(
FOLDERNAME 'hadoop地址',
FORMAT 'text',
ENCODING 'utf8',
FILL_MISSING_FIELDS 'true',
IGNORE_EXTRA_DATA 'true',
noescaping 'true'
)
DISTRIBUTE BY roundrobin
PARTITION BY (分区列) AUTOMAPPED;