1 数据来源
- 组织内 业务系统和归档数据
- 组织外 政府数据,其他组织数据,互联网数据,物联网数据
2 内部数据获取
2.1 用到的工具
ETL(Extract,Transform,Load)
数据抽取,数据转换和加工,数据装载
2.2 数据抽取分类
-
全量抽取 直观简单,产生大量冗余数据,降低抽取效率。对文件的抽取一般采用。
- 增量抽取
2.3 捕获增量数据的方法
- 日志对比 CDC(changed data capture),利用CDC,在对源表进行插入更新删除操作时就可以提取数据,变化的数据保存在DB的变化表中。
- 时间戳 ①增加一个时间戳字段,在更新表格数据的同时更新时间戳字段的值。②进行数据抽取时,比较系统时间与时间戳字段的值来决定抽取哪些数据。
- 触发器 ①当源表数据变化时,通过相应触发器将变化的数据写入临时表。②抽取线程从临时表抽取数据。 ③被抽去的数据从临时表删除或者标记。
- 全表对比 采用MD5校验码 ①首先为要抽取数据的表建立一个结构类似的MD5的临时表,该临时表记录源表主键及根据所有字段的数据计算出的MD5校验码。②每次要进行数据抽取时,将源表和MD5临时表对比,从而决定源表数据的变化,并更新MD5检验码。 缺点:被动进行全表对比,当表中没有主键或者唯一列,或者记录重复数据时,MD5的准切性较差。
2.4 T 对数据的转换和加工
映射,过滤,清洗,替换,计算,验证,加密和解密,合并,拆分
2.5 L 数据装载
- SQL语句加载
- 批量加载工具
- API
3 外部数据获取
3.1 网络爬虫
一种自动浏览网页的程序或者说网络机器人
- 开始于种子URL,放入待抓取URL队列
- 读取队列中URL,进行DNS解析,网页下载,保存到已下载网页库中
- 从读取的URL中抽取新的URL加入到队列,将已读取的URL放入已抓取URL队列中
- 继续重复2和3,直到待抓取URL队列中为空
3.2 三种典型网络爬虫
- 批量型爬虫
- 增量型爬虫 持续
- 垂直型爬虫 指定网络数据
3.3 网络爬虫抓取策略
- 深度优先
- 广度优先
- 局部PageRank策略 计算网页被其他网页链接指向的数量来表示重要性
- OPIC(online page importance computation) 将每个网页赋予相同的“金币”,下载时将金币平均分配到该网页包含的链接中,待爬队列中链接按照“金币”排序。计算速度快于3
3.4 爬虫分布式架构模型
- Master-Slave
- Slave-Slave
- Mixed
4 深网数据获取
4.1 深网定义
在互联网上可获得的,但是传统的搜索引擎由于技术限制不能或者慎重考虑后不愿意做索引的那些网页、文件或者其他高质量、权威的信息。
4.2 深网内容
- 没有被搜索引擎索引的页面
- 非网页文件
- 查询得到的动态页面
- 注册或其他限制