242 lines
6.0 KiB
Markdown
242 lines
6.0 KiB
Markdown
|
|
---
|
||
|
|
sidebar_position: 10
|
||
|
|
title: Doris说明
|
||
|
|
---
|
||
|
|
# Doris说明
|
||
|
|
|
||
|
|
### DWD表开发
|
||
|
|
|
||
|
|
```properties
|
||
|
|
1.加yml配置
|
||
|
|
2.加step sql文件
|
||
|
|
3.create_table_all.sql写好记录
|
||
|
|
decimalv3 小数精度
|
||
|
|
BIGINT 主键
|
||
|
|
INT 常规数字
|
||
|
|
datetime
|
||
|
|
varchar 字符
|
||
|
|
4.定时任务加执行地址 http://10.1.67.76:19999/
|
||
|
|
5.window执行完定时自动加入
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
### 网页说明
|
||
|
|
|
||
|
|
##### 数据集
|
||
|
|
|
||
|
|
```
|
||
|
|
1.新增数据集: 录入已创建的dwd表
|
||
|
|
2.dwd表新增了字段: 图表来源-更多-编辑数据集, 选择列-从原数据同步列 (交换数据集是啥?)
|
||
|
|
3.增加指标: 图表来源-更多-编辑数据集, 选择指标-增加条件
|
||
|
|
4.删除亮哥的指标: 后缀加 _del
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
##### 图表
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
##### 看板
|
||
|
|
|
||
|
|
```
|
||
|
|
1.可以全局筛选, 可以局部筛选, 可以联动筛选
|
||
|
|
|
||
|
|
2.展示:
|
||
|
|
数量不要小数
|
||
|
|
金额不要小数
|
||
|
|
比率用1位小数
|
||
|
|
```
|
||
|
|
|
||
|
|
##### sql工具箱
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
### code对应表
|
||
|
|
|
||
|
|
```
|
||
|
|
city_id -> city_name
|
||
|
|
1 北京
|
||
|
|
2 杭州
|
||
|
|
5 苏州
|
||
|
|
6 太原
|
||
|
|
7 天津
|
||
|
|
8 南京
|
||
|
|
9 上海
|
||
|
|
15 成都
|
||
|
|
18 郑州
|
||
|
|
19 无锡
|
||
|
|
20 武汉
|
||
|
|
67 广州
|
||
|
|
672 广州PARK
|
||
|
|
|
||
|
|
|
||
|
|
contract_state_code -> contract_state
|
||
|
|
1000100070001 已签约
|
||
|
|
1000100070003 已作废
|
||
|
|
1000100070004 已续约
|
||
|
|
1000100070005 解约中
|
||
|
|
1000100070006 已解约
|
||
|
|
1000100070008 续约中
|
||
|
|
1000100070009 签约中
|
||
|
|
1000100070010 草稿
|
||
|
|
|
||
|
|
signing_route_code -> signing_route
|
||
|
|
--非太原/太原
|
||
|
|
1000100790001/1000100820001 AMS纸版签约
|
||
|
|
1000100790002/1000100820002 APP电子签约
|
||
|
|
|
||
|
|
contract_type_code -> contract_type
|
||
|
|
SF 委托
|
||
|
|
CF 承租
|
||
|
|
|
||
|
|
property_check_state_code -> property_check_state
|
||
|
|
1000300270001 待审核
|
||
|
|
1000300270002 审核已通过
|
||
|
|
1000300270003 审核未通过
|
||
|
|
1000300270004 待补充
|
||
|
|
1000300270005 待客户确认
|
||
|
|
|
||
|
|
jy_type_code -> jy_type
|
||
|
|
--非太原/太原
|
||
|
|
1000100800010001/1000100830010001 AMS纸质解约
|
||
|
|
1000100800010002/1000100830010001 APP电子解约
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
##### ODS是原材料,DWD是清洗好的零件,DWS是组装好的半成品,那么ADS就是摆在货架上成品。
|
||
|
|
|
||
|
|
### ods
|
||
|
|
|
||
|
|
```properties
|
||
|
|
设计ods表,数据类型按全城市的最大值创建
|
||
|
|
|
||
|
|
#流程
|
||
|
|
定时去拉去AMS的数据到ods表 , 链路猜测是ogg->spark->ods
|
||
|
|
全量定时: 每天全刷
|
||
|
|
增量定时: 几分钟一刷
|
||
|
|
```
|
||
|
|
|
||
|
|
### dwd
|
||
|
|
|
||
|
|
```properties
|
||
|
|
application.yml 里配置了dwd需要执行哪些sql
|
||
|
|
dwd-micro: 业务
|
||
|
|
dws-ads-micro: 数据组用
|
||
|
|
zipper: ods备份表,比如监控到发生变化,就insert一条,时间是zip_valid_start,对应字段在项目的superset_fields_xxx文件
|
||
|
|
|
||
|
|
|
||
|
|
classpath配置里dwd的建表语句,写法像视图,11
|
||
|
|
${group}: sfContract
|
||
|
|
${dwdTable}: dwd_fact_sf
|
||
|
|
${odsTable}: ods_wk_sf_contract
|
||
|
|
${odsTables}: 都写的这个,但是实际用的时候还是odsTable
|
||
|
|
${isFull}: 是否全量
|
||
|
|
${lookbackSeconds}: 增量数据,前60秒的,一般不用
|
||
|
|
${jobParam}: XXL-JOB参数
|
||
|
|
${initSplitPredicate}: isFull=true且数据量很大时, 拆成多个小任务执行
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
### 自己尝试
|
||
|
|
|
||
|
|
```yml
|
||
|
|
dwd_fact_agreement:
|
||
|
|
enabled: true
|
||
|
|
ods-tables:
|
||
|
|
ods_wiwj_agreement_info:
|
||
|
|
enabled: true
|
||
|
|
sql-files:
|
||
|
|
- classpath:sql/dwd/sfContract/dwd_fact_sf_agreement_step1.sql
|
||
|
|
```
|
||
|
|
|
||
|
|
```sql
|
||
|
|
--委托协议测试表
|
||
|
|
DROP TABLE IF EXISTS warehouse.dwd_fact_agreement;
|
||
|
|
CREATE TABLE IF NOT EXISTS warehouse.dwd_fact_agreement (
|
||
|
|
dw_cityid INT COMMENT '城市ID',
|
||
|
|
agreement_id BIGINT COMMENT '协议ID',
|
||
|
|
city_name VARCHAR(20) COMMENT '城市',
|
||
|
|
contract_id BIGINT COMMENT '合同ID',
|
||
|
|
contract_type VARCHAR(40) COMMENT '协议类型(收房出房)',
|
||
|
|
confer_id BIGINT COMMENT '协议类型字典',
|
||
|
|
confer_name BIGINT COMMENT '协议类型名称',
|
||
|
|
status VARCHAR(100) COMMENT '协议风控审核状态',
|
||
|
|
letdatechange VARCHAR(2) COMMENT '首个招租期是否变更',
|
||
|
|
cycleLetDaysChange VARCHAR(2) COMMENT '托管招租期是否变更',
|
||
|
|
create_time DATETIME COMMENT '创建时间',
|
||
|
|
--共通
|
||
|
|
op_type VARCHAR(20) COMMENT '是否被物理删除',
|
||
|
|
etl_time DATETIMEV2(3) DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'ETL 加载时间'
|
||
|
|
)
|
||
|
|
UNIQUE KEY(dw_cityid, agreement_id)
|
||
|
|
COMMENT '委托协议测试表'
|
||
|
|
DISTRIBUTED BY HASH(dw_cityid, agreement_id) BUCKETS 16
|
||
|
|
PROPERTIES (
|
||
|
|
"replication_num" = "3",
|
||
|
|
"enable_unique_key_merge_on_write" = "true"
|
||
|
|
);
|
||
|
|
```
|
||
|
|
|
||
|
|
##### [dwd_fact_sf_agreement_step1.sql](C:\project\doris-microbatch-executor\src\main\resources\sql\dwd\sfContract\dwd_fact_sf_agreement_step1.sql)
|
||
|
|
|
||
|
|
```sql
|
||
|
|
INSERT INTO dwd_fact_agreement
|
||
|
|
(
|
||
|
|
dw_cityid,
|
||
|
|
agreement_id,
|
||
|
|
city_name,
|
||
|
|
contract_id,
|
||
|
|
contract_type,
|
||
|
|
confer_id,
|
||
|
|
confer_name,
|
||
|
|
status,
|
||
|
|
letdatechange,
|
||
|
|
cycleLetDaysChange,
|
||
|
|
create_time,
|
||
|
|
op_type,
|
||
|
|
etl_time
|
||
|
|
)
|
||
|
|
SELECT
|
||
|
|
s.dw_cityid as dw_cityid,
|
||
|
|
s.ID as agreement_id,
|
||
|
|
dc.dict_name as city_name,
|
||
|
|
s.CONTRACTSID as contract_id,
|
||
|
|
s.CONTRACTTYPE as contract_type,
|
||
|
|
s.CONFERID as confer_id,
|
||
|
|
ods_conferid.DICTNAME as confer_name,
|
||
|
|
s.STATUS as status,
|
||
|
|
detail.letdatechange AS letdatechange,
|
||
|
|
detail.cycleLetDaysChange AS cycleLetDaysChange,
|
||
|
|
s.CREATETIME as create_time,
|
||
|
|
s.op_type,
|
||
|
|
s.etl_time
|
||
|
|
FROM ${odsTable} s
|
||
|
|
left join dict_config dc on dc.dict_id = s.dw_cityid and dc.dict_type = 'city'
|
||
|
|
left join ods_taw_system_dicttype ods_conferid on ods_conferid.dw_cityid = s.dw_cityid and ods_conferid.dictid = s.conferid
|
||
|
|
LEFT JOIN (
|
||
|
|
SELECT
|
||
|
|
dw_cityid,
|
||
|
|
CONFERID,
|
||
|
|
MAX(CASE WHEN name = 'letDateChange' AND value = 'Y' THEN 'Y' ELSE 'N' END) AS letdatechange,
|
||
|
|
MAX(CASE WHEN name = 'cycleLetDaysChange' AND value = 'Y' THEN 'Y' ELSE 'N' END) AS cycleLetDaysChange
|
||
|
|
FROM ods_wiwj_agreement_detail_info
|
||
|
|
WHERE name IN ('letDateChange', 'cycleLetDaysChange')
|
||
|
|
GROUP BY dw_cityid, CONFERID
|
||
|
|
) detail ON detail.dw_cityid = s.dw_cityid AND detail.CONFERID = s.id
|
||
|
|
INNER JOIN dwd_batch_window b
|
||
|
|
ON b.dwd_group = '${group}'
|
||
|
|
AND b.dwd_table = '${dwdTable}'
|
||
|
|
AND b.ods_table = '${odsTable}'
|
||
|
|
WHERE s.pos > b.batch_start_pos
|
||
|
|
AND s.pos <= b.batch_end_pos
|
||
|
|
AND s.CONTRACTTYPE = 'SF';
|
||
|
|
```
|
||
|
|
|