登 录
注 册
< 数据中台
中台架构
数据模型
数据资产
数据服务
数据汇聚与开发
数据体系建设
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
当前位置:
首页
>>
数据模型
>>
数据汇聚与开发
数据汇聚与开发
2020-06-29 18:08:42 星期一 阅读:2160
![](/static/images/article_images/1694357193.1242828.jpeg) 数据汇聚就是让企业内部各个业务系统的数据实现互联互通,从物理上打破数据孤岛,这主要通过数据汇聚和交换的能力来实现。 在数据采集和汇聚过程中,需要特别注意的一点是数据的隐私和安全,数据采集和汇聚是最容易触碰法律红线的环节。(也就是说要清楚什么数据可以采集,什么数据不可以采集) #### 数据采集/汇聚的方法和工具 `线上行为采集`:PC系统、H5、小程序、APP等 - 客户端SDK埋点 - - 全埋点 可视化埋点:通过服务端配置的方式有选择性地记录并保存 代码埋点:根据需求来定制每次的收集内容 - 服务端SDK埋点:在系统服务器上部署相应的数据采集模块,前提是需要采集的行为会调用服务端的接口 `线下行为采集`:主要通过一些硬件来采集 - - WiFi探针 - - 摄像头 - - 传感器 `互联网数据采集`:网络爬虫 `内部数据汇聚`:越来越多的企业不用ETL,而是用ELT。也就是先把所有的数据抽取加载到存储系统,最后才进行转换。这样做有两个原因 - - 数据量太大,如果抽取的时候进行复杂清洗,会导致清洗效率过低,清洗速度慢 - - 清洗的时候可能会清洗掉一些对未来有价值的数据 `目前主要使用的数据交换工具` - - Sqoop - - Canal - - DataX #### 数据存储的选择 需要考虑以下几个方面,这里需要注意的是没有一种存储方式能够解决所有问题,所以需要根据自身情况进行多种存储组合来满足企业数据应用需求 `数据规模`:当前的规模以及未来的规模,原则是成本可控且易于扩展 `数据生产方式`:有的数据生产端没有存储,边生产边发送 `数据应用方式`:数据使用场景决定了数据存储的选型,如果是离线数据分析,在需要Hive等吞吐量大的存储框架,如果是实时分析,则需要Impala类的分析引擎 ####数据开发:数据价值提炼工厂 数据开发是数据资产内容建设的主战场,是数据价值生产过程中的核心环节,可以支撑大批量数据的离线数据、实时处理和数据挖掘等。数据开发涉及的产品能力主要包括三个部分: `离线开发`:离线数据的加工、发布、运维管理、数据分析、数据探索等 `实时开发`:数据的实时接入和实时处理 `算法开发`:数据价值的深度挖掘 #### 离线开发套件 `作业调度`:DAG作业 - - 依赖调度 - - 时间调度 `基线控制` - 统一管理数据处理作业的完成时间、优先级,告警策略,保证重要的任务按时完成。如果预测到某些任务可能没法按时完成,则会告警工作人员提前介入。 `异构存储`:针对不同的计算引擎开发不同的插件,使得数据中心能够兼容所有的异构数据源 `代码校验`:在作业运行前自动校验SQL语法问题 `多环境级联`:测试环境和上产环境的级联方式 `推荐依赖`:根据脚本自动推荐上游作业,这个功能在依赖的上游任务有成百上千个时尤为重要 `数据权限`:由于不同的计算引擎有独立的权限系统(Oracle、MySQL、Hadoop等),如何构建统一的权限管理系统来支持多种引擎是一个挑战。解决思路也是插件化的设计方法,针对每种权限管理系统开发一种插件。最终形成数据权限管理中心并提供可视化页面,包含申请、审批等功能。 ####实时开发 实时开发套件是对流计算能力的产品封装。实时开发涉及的核心功能点包括以下几点 `元数据管理`:元数据管理可以将Topic中相应的元数据信息统一维护到元数据注册中心,将数据和元数据进行解耦,Topic中只需要存入数据即可。在进行流计算时,实时开发会根据Topic自动寻找对应的元数据信息进而形成DataStream,以便进行后续的实时计算。 `SQL驱动式开发`:可以将流计算当做动态数据表中的持续查询,将变动的实时数据(Kafka中不断推送的消息)、较少变动的维表(MySQL表、CSV文件等)加载到流中,注册为临时视图,这样在视图上就可以做SQL化的转换处理,最后写入结果表中。 `组件化配置`:开发人员可以通过简单的拖拽相关组件来进行简单的配置和SQL逻辑编写等,拖拽的组件可以是数据源、转换逻辑、UDF函数等 ####算法开发 当传统的数据加工和分析难以满足前台的智能业务需求时,算法开发套件作为一站式的企业级机器学习工具,能够支撑多环境、多集群、多形态模型服务化的能力,对企业实现数据智能化起着至关重要的作用。 `可视化建模`:通过拖拽式便捷编排算法实验,集数据处理、模型训练和评估一体,帮助开发者是实现零代码的开发工作 `NoteBook建模`:提供了一个集成的jupyter工具,提供专业算法开发环境和主流框架,帮助算法工程师快速、轻松地通过代码开发来构建和训练机器学习模型 `数据集管理`:数据集是算法建模过程中不可缺少的原材料,作为统一维护数据集的场所,数据集管理需要考虑的功能有 `数据接入`:支持多种类型的数据 `数据标注`:数据标注越精准,算法模型训练的效果就越好。通过对人工少量标注的样本进行建模训练,用训练出来的模型进行数据预标注,由人工判断是否准确,并反馈结果用于优化算法,知直到机器标注的准确率达到要求 `数据探查`:快速评判数据集的质量和可用性,并根据数据集的特点评估使用的模型范围 #####算法核心组件 数据获取及存储 数据预处理 特征工程:包括one-hot编码、特征异常平滑等 统计分析 机器学习:分类、聚类和回归 深度学习:TensorFlow、MXNet等 文本分析:文本分类、关键词抽取、分词处理 网络分析:基于图数据结构的分析组件,比如最短路径查找、标签传播分类、树深度等 #####多算法框架 `多算法框架支持`:支持TensorFlow、Keras、PyTorch等 `多算法框架多版本支持`:实现同一框架不同版本的运行 Conda环境隔离,不同版本的算法框架打包成不同的Conda环境 Docker环境隔离,这种方案隔离性更好,但是会有虚拟化的性能损失