Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
K
kb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • granite
  • kb
  • Wiki
    • Data_stream
  • paimai

paimai · Changes

Page history
update:数据清洗说明 authored Mar 15, 2022 by Liu Zhiqiang's avatar Liu Zhiqiang
Hide whitespace changes
Inline Side-by-side
Showing with 73 additions and 9 deletions
+73 -9
  • data_stream/paimai.md data_stream/paimai.md +73 -9
  • No files found.
data_stream/paimai.md
View page @ da680cc5
......@@ -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
Clone repository
  • README
  • basic_guidelines
  • basic_guidelines
    • basic_guidelines
    • dev_guide
    • project_build
    • 开发流程
  • best_practice
  • best_practice
    • AlterTable
    • RDS
    • azkaban
    • create_table
    • design
    • elasticsearch
    • elasticsearch
      • ES运维
    • logstash
View All Pages