Greenplum操作

2023-03-06 00:00:00 用户 数据库 启动 实例 停止

1. 管理命令

2.1 数据库启动

$ gpstart [-a|-m]

# -a: 直接启动,不提示终端用户输入确认

# -m: 只启动master实例,主要是故障处理时使用

2.2 数据库停止

$ gpstop [-a|-m|-f|-u]

# -a: 直接停止,不提示终端用户输入确认

# -m: 只停止master实例

# -f: 停止数据库,中断所有数据库连接,回滚正在运行的事务

# -u: 不停止数据,只加载pg_hba.conf和postgresql.conf中的运行时参数。

2.3 查看数据分布

select gp_segment_id, count(1) from tablename group by 1;

2.4 收集统计信息,回收空间

定期使用vacuum analyze tablename收集统计信息,回收空间。尤其是大数据量删除或导入后。

2.5 实例恢复

通过gpstate或gp_segment_configuration发现实例down掉,可以用gprecoverseg启动down掉的实例。

2. SQL

数据库、表名、结构

# 通过命令行查询

\d 数据库 —— 得到所有表的名字

\d 表名 —— 得到表结构



# 通过SQL语句查询

"select * from pg_tables" —— 得到当前db中所有表的信息(这里pg_tables是系统视图)

"select tablename from pg_tables where schemaname='public'" —— 得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)

执行计划

explain [analyze] sql

3. 流处理

kafka(json) -> greenplum

安装扩展包

# 登录对应数据库

$ psql -d postgres



postgres=# CREATE EXTENSION gpss;

Yaml配置文件

$ vi ods_mac_track.yaml



DATABASE: bigdataDB

USER: gpadmin

HOST: host106

PORT: 5432

KAFKA:

INPUT:

SOURCE:

BROKERS: host106:9092,host107:9092,host108:9092

TOPIC: mac_data

COLUMNS:

- NAME: jdata

TYPE: json

FORMAT: json

ERROR_LIMIT: 1000

OUTPUT:

TABLE: ods_mac_track

MAPPING:

- NAME: track_id

EXPRESSION: (jdata->>'track_id')::text

- NAME: mac

EXPRESSION: (jdata->>'mac')::text

- NAME: source

EXPRESSION: (jdata->>'source')::int4

- NAME: service_code

EXPRESSION: (jdata->>'service_code')::text

- NAME: geo_point

EXPRESSION: (jdata->>'geo_point')::point

- NAME: geo_hash7

EXPRESSION: (jdata->>'geo_hash7')::text

- NAME: geo_md5

EXPRESSION: (jdata->>'geo_md5')::text

- NAME: start_time

EXPRESSION: (jdata->>'start_time')::timestamp

- NAME: end_time

EXPRESSION: (jdata->>'end_time')::timestamp

- NAME: phone

EXPRESSION: (jdata->>'phone')::text

- NAME: stay_time

EXPRESSION: (jdata->>'stay_time')::int8

COMMIT:

MAX_ROW: 10000

启动

gpkafka load [--quit-at-eof] [{--force-reset-earliest | --force-reset-latest}] [--debug-port portnum] [-v | --verbose] config.yaml

gpkafka load {-h | --help}



$ gpkafka load ods_mac_track.yaml




本文来源:https://blog.csdn.net/u013980127/article/details/100658331







相关文章