... | ... | @@ -446,24 +446,88 @@ public-company-spider-data-* |
|
|
# **数据清洗**
|
|
|
|
|
|
## 责任人
|
|
|
|
|
|
```angular2html
|
|
|
刘治强
|
|
|
```
|
|
|
|
|
|
## 代码地址
|
|
|
|
|
|
|
|
|
```angular2html
|
|
|
http://192.168.109.110/granite/project-collie-app/-/tree/master/app_judicial_sale
|
|
|
```
|
|
|
## 清洗流程
|
|
|
@startuml
|
|
|
left to right direction
|
|
|
|
|
|
queue kafka as kafka1
|
|
|
database tb_judicial_sale_to_complete_data中间表 as tb_middle
|
|
|
database tb_judicial_sale as tb_format_1
|
|
|
database tb_judicial_sale_info as tb_format_2
|
|
|
database tb_judicial_sale_info_company as tb_format_3
|
|
|
|
|
|
|
|
|
kafka1 --> tb_middle:pub_id查询结果(详情和标题)
|
|
|
kafka1 --> tb_middle:tb_max_ggid查询结果(法院和发布时间)
|
|
|
tb_middle --> tb_format_1:读取中间表的完整数据
|
|
|
tb_format_1 --> tb_format_2:解析每条标题中的公司,每条数据代表一条拍卖信息
|
|
|
tb_format_1 --> tb_format_3:将每条数据对应的每个公司都解析后写入,每条数据代表一条拍卖信息涉及的一家公司
|
|
|
|
|
|
@enduml
|
|
|
```angular2html
|
|
|
1.发布任务分为两种数据:pub_id和tb_max_ggid
|
|
|
a.pub_id:通过任务提交的pub_id,爬取对应网页"https://www.rmfysszc.gov.cn/statichtml/rm_xmdetail/pub_id",获取标题和详情,但返回的结果不能得到准确的法院名称和拍卖时间
|
|
|
b.tb_max_ggid:通过tb_max_ggid设定pub_id查询下限。按照法院列表获取列表中的法院名称,拍卖时间和标题。
|
|
|
2.清洗kafka内结果
|
|
|
a.对返回结果进行清洗。
|
|
|
*.将详情保存到文件服务器,获取下载地址。
|
|
|
*.解析详情补充拍卖开始和结束时间
|
|
|
*.过滤返回结果为null的字段。
|
|
|
b.将结果写入中间表tb_judicial_sale_to_complete_data
|
|
|
*.由于无法一次获得整条完整的数据,避免推送不完整的数据,现将部分结果写到中间表
|
|
|
*.检查中间表内最近三天更新的完整数据(content和court不为null的数据)更新到业务表tb_judicial_sale
|
|
|
3.解析业务表tb_judicial_sale内title包含公司的数据
|
|
|
a.将涉及的公司名称,digest,id,金额等写入tb_judicial_sale_info表中,每条数据代表一条拍卖信息
|
|
|
b.由于一条拍卖信息可能涉及多家公司,因此将每家公司解析出来,写入tb_judicial_sale_info_company中,一条数据表示一条拍卖信息涉及的一家公司
|
|
|
```
|
|
|
## 找新逻辑
|
|
|
```angular2html
|
|
|
1.pub_id:与zxgk找新逻辑一致。自动填充pub_id,对没有查询结果(task_result非1000)的pub_id进行任务发布
|
|
|
2.tb_max_ggid:查询任务表内当天最小的task_result=1000的pub_id,以此pub_id作为查询pub_id的下限tb_max_ggid
|
|
|
```
|
|
|
## 部署地址
|
|
|
<!--机器及线上代码地址-->
|
|
|
```angular2html
|
|
|
代码地址:http://192.168.109.110/granite/project-collie-app/-/tree/master/app_judicial_sale/data_pump
|
|
|
找新:10.8.6.18
|
|
|
1.发布pub_id:risk_find_new.yml
|
|
|
2.发布tb_max_ggid:small_pubid_to_redis.yml
|
|
|
清洗:10.8.6.228
|
|
|
1.入中间表:judicial_sale.yml
|
|
|
2.中间表入业务表:complete_data_to_formal_table.yml
|
|
|
关联公司:10.8.6.47
|
|
|
1.关联公司:parse_data.yml
|
|
|
```
|
|
|
|
|
|
|
|
|
## 部署方法及说明
|
|
|
<!--运行方法及运行命令、supervisor配置、supervisor的program等-->
|
|
|
|
|
|
- [ ] crontab + data_pump
|
|
|
- [X] supervisor + data_pump
|
|
|
- [ ] supervisor + consumer
|
|
|
## 数据接收来源
|
|
|
<!--来源于kafka还是归集的文件、topic的group?-->
|
|
|
文件
|
|
|
```angular2html
|
|
|
来源于kafka
|
|
|
topics: "public-company-spider-data"
|
|
|
group: "paimai_rmfysszc_etl"
|
|
|
```
|
|
|
|
|
|
## 数据存储表地址
|
|
|
|
|
|
* 数据库地址:
|
|
|
* 数据库名:
|
|
|
* 表名: |
|
|
\ No newline at end of file |
|
|
中间表:
|
|
|
* 数据库地址:bdp-ext.rwlb.rds.aliyuncs.com
|
|
|
* 数据库名:bdp_risk
|
|
|
* 表名:tb_judicial_sale_to_complete_data
|
|
|
|
|
|
业务表:
|
|
|
* 数据库地址:bdp-rds-003.mysql.rds.aliyuncs.com
|
|
|
* 数据库名:utn_risk
|
|
|
* 表名:tb_judicial_sale,tb_judicial_sale_info,tb_judicial_sale_info_company |
|
|
\ No newline at end of file |