快速实施指导手册

库存优化快速实施指导手册
一、连接内网
plink反向转发
安装plink.exe,修改autossh.bat文件:注意要用ANSI编码保存

:relink

密码方式不推荐

c:\plink.exe -C -N -R 0.0.0.0:分配的映射端口:erp数据库IP:erp数据库端口 阿里云用户@阿里云ip -pw 阿里云密码 -P 22 -v

密钥方式

c:\plink.exe -C -N -R 0.0.0.0:分配的映射端口:erp数据库IP:erp数据库端口 root@阿里云ip -i 目录\15.73.ppk -P 22 -v
goto relink
后台运行

cmd下:

start /b c:\atuossh.bat

定时任务下:

添加bat文件到windows任务计划中。
二、kettle开发
使用文件资源库
将kettle解压到/home/etl下(假定etl的普通os用户)
chown -R etl:root /home/etl/
将gp环境写入当前用户的.bash_profile,即添加以下2行:密码中的#需要#转义
export GPHOME=/usr/local/greenplum-db-5.5.0
export PGPASSWORD=abc#2018
使用kettle文件资源库,方便svn备份和迁移至下个项目

kettle根目录下新建shell文件etl.sh

vim /home/etl/data-integration/etl.sh
添加:
cd /home/etl/data-integration
./kitchen.sh -rep=kettle_xlm_glk -user=admin -pass=admin -dir=/ -job etl

赋予可执行权限

chmod +x /home/etl/data-integration/etl.sh
将etl.sh添加进crontab定时运行
0 14 * * * /bin/bash /home/etl/data-integration/etl.sh #每天2点定时运行
说明:新规范中自动调度已移交产品airflow调度。

kettle脚本复用
文件资源库的数据库连接信息保存在kdb文件中,如下图所示。 kettle脚本复制到新项目上,修改数据库连接信息即可,其中密码可使用[kettle_password.jar]获取加密后的字符串。 java -jar kettle_password.jar


mysql
192.168.251.175
MYSQL
Native
zjmiit
3306
root
Encrypted 2be98afc86aa7f2e4cb0ead68c6c3fd89
三、存储过程
根据项目定制p_fct和p_rst的存储过程,其他由产品统一输出

sql妙用
filter语法 比如常写的统计符合某个条件的个数: sum(case when id=‘1’ then 1 else 0 end) 可改写为: count(*) filter (where id=‘1’) 写法更简洁,效率也更高。
妙用case when
附录
DBA操作
新建操作系统普通用户

新建用户

useradd etl

修改etl的密码

passwd etl
新建gp普通用户
su gpadmin
psql -p 2345 -d gpdb
\l --查看全部数据库
-- 创建普通用户etl
CREATE USER etl WITH PASSWORD '密码';
-- 生成sql批量授权

用gpadmin进新库授权
-- 授权到库
GRANT ALL ON DATABASE lz10000 to huayi;
-- 授权schema
grant all on schema rst to huayi;
grant all on schema ods to huayi;
grant all on schema edw to huayi;
-- 循环授权所有表
select 'GRANT ALL PRIVILEGES ON public.'||tablename||' TO lz10002;'
from pg_tables
where tablename::varchar like 'r_%' and --举例:给所有r_开头的表授权
schemaname::varchar= 'public'
– 赋予ssb用户创建外部表权限: 要允许用户创建外部表,否则建外部表时会得到错误 ERROR: permission denied: no privilege to create a readable gpfdistexternal table

ALTER ROLE huayi CREATEEXTTABLE (type='readable');
ALTER ROLE huayi CREATEEXTTABLE (type='writable');
免密连接
制作密钥 puttygen.exe,点击【generate】,不停移动鼠标直至进度条跑完,生成密钥。 mark 【Save private key】保存私钥ppk文件到本机,妥善保存 复制上方公钥到服务器,追加到authorized_keys文件。
密钥连接
plink -P 22 -i %USERPROFILE%.ssh\pg_rsa.ppk [email protected]..
gp的gpload查错
find / -name gpfdist
su gpadmin
/usr/local/greenplum-db-5.5.0/bin/gpfdist -d /mnt/install/data-integration/gpload -p 8081 -l /mnt/gpdata/log_gpfdist &

CREATE EXTERNAL TABLE ods.inventory ( name text,
date date, amount float4, category text, desc1 text )
LOCATION ('gpfdist://bigdata:8081/inventory.dat')
FORMAT 'TEXT' (DELIMITER '|' NULL '' ESCAPE 'OFF')
LOG ERRORS SEGMENT REJECT LIMIT 10 rows

SELECT gp_read_error_log('ods.inventory');

你可能感兴趣的:(快速实施指导手册)