简单的数据科学相关概念
1. 数据仓库、数据湖、数据流的区别是什么
OLAP (online analytical processing,在线分析处理)
数据仓库-〉数据湖-〉数据流
数据仓库是存储经过全面处理的结构化数据的
数据湖是存储结构化和非结构化的原始数据
数据流是比较新的概念 当前大部分处理都将数据作为流来处理 ,分为有限数据流和无限数据流,无限是有始无终的,有限是固定大小有始有终的。
1. 那数仓如何分层
源数据装载入数仓,进入数据缓冲区,经过抽取、清洗、转换刷新,进入基础数据层进行管理,然后在公共层汇总,进入OLAP服务器即数据集市,由前端工具和应用访问、分析和进行数据挖掘。
原始数据层:从不同系统录入原始的结构化数据和非结构化数据
数据集成产品( 数据采集层):对结构化数据进行数据抽取、清洗和转换,对非结构化数据进行内容分析
数据存储层:企业级数据平台,服务不同的部门如财务效手生产人力等
数据分析产品(数据展现层):数据查询分析平台(固定报表、统计图表、多维分析、office应用、地图分析、电子报告等)
应用展现门户(信息交付展):数据仓库内容访问平台(展示图表、报表、灵活分析、个性化设置、日志统计)
2.DM和DW的区别是什么
数据集市和数据仓库
数据集市以某个业务应用为出发点而建设的局部数仓,只关心自己需要的数据而不全盘考虑企业整体的数据架构和应用,每个应用有自己的数据集市。
结构清晰、针对性强、扩展性好,因为仅对某一特定领域建立,容易维护修改。但建设任务繁重且更加消耗储存空间。
数仓是决策用的数据集合,效率高质量好扩展性好且面向主题。其中的数据只允许增加不允许删改,主要提供查询服务。
3.数仓跟中台区别是什么 怎么演变过来的
数据中台 | 数据仓库 | |
---|---|---|
部署架构 | 水平扩展 | 大部分水平扩展 |
数据类型 | 文件存储,没有数据类型 | 丰富的数据类型 |
数据模型 | 非常简陋的数据模型 | 完善丰富的数据模型 |
数据关系 | 没有数据关系描述 | 数据关系完善 |
数据一致 | 无一致性 | 强一致性 |
数据安全 | 安全性很弱 | 安全性很高 |
计算类型 | 离线批量处理,只读,低并发 | 离线批量处理,只读,低并发 |
使用场景 | 低密度数据海量存储,数据预处理计算 | 高价值数据统一存储和计算平台 |
人员要求和成本 | 高 | 适中 |
传统的数据仓库不再能够满足数据分析的需求(从统计分析走向预测分析,从单领域走向多领域,从被动走向主动,从非实时走向实时分析,从结构化数据向多元化数据转变),且对统一平台有强烈诉求,也对数据中台的运算能力、核心算法、数据的全面性提出了更高的要求。
数据中台的处理架构出现了变化。一是hadoop和spark等等分布式技术和组件为核心的数据处理架构能够支持批量和实时数据及灵活的业务需求,二是数据的与处理流程正在从ETL转向ELT。ETL是先从数据源抽取所需数据,然后数据清洗然后加载到数仓。ELT是根据上层应用的需求,随时从数据中台抽取想要的原始数据进行建模分析。
4.怎么给数仓做ETL
ETL是extract、translation和load三个单词的首字母,即抽取(从操作型数据源获取数据)、转换(转换数据,使之转变成为适用于查询和分析的形式和结构)、装载(将转换后的数据导入最终的目标数据仓库)
工具:数据抽取(kafka;flume;sync);数据清洗(hive/tez;pig/tez;storm;spark);数据存储(hadoop;hbase;redis);任务管理(azkaban;oozie);数据同步(datax;sqoop)。
抽取:把ODS源数据抽取到DW中,然后处理成展示给相关人员查看的数据
如果没有特殊要求可以一天一次,但是需要避开拉去日志的高峰期;对于有实时性要求的日志,可以一小时一次,或者直接使用kafka等相关工具收集,需要考虑到系统能否承受
由于数据量较大,一般都是采用增量抽取,但是对于一些特殊场景的数据,比如订单数据,由于订单的状态会发生变化,并且订单的量级是可预知和相对较少的,就需要采用全量拉取的策略;对于源数据的保留,考虑到突发情况,服务器上的源数据至少要保证2天以上的时间
转换(清洗):把不需要的和不符合规范的数据进行处理。数据清洗最好不要放在抽取的环节进行,考虑到有时可能会查原始数据
a. 空值处理:根据业务需要,可以将空值替换为特定的值或者直接过滤掉;
b. 验证数据正确性:主要是把不符合业务含义的数据做一处理,比如,把一个表示数量的字段中的字符串替换为0,把一个日期字段的非日期字符串过滤掉等等;
c. 规范数据格式:比如,把所有的日期都格式化成yyyy-MM-dd HH:mm:ss的格式等;
d. 数据转码:把一个源数据中用编码表示的字段,通过关联编码表,转换成代表其真实意义的值等等;
e. 数据标准,统一:比如在源数据中表示男女的方式有很多种,在抽取的时候,直接根据模型中定义的值做转化,统一表示男女;
装载:数据拉取,清洗完之后,就需要展示了。一般是把清洗好的数据加载到mysql中,然后在各系统中使用,或者使用Tableau直接给相关人员展示
2. 数据中台和业务中台的区别是什么,中台如何分层
数据中台成为热点,“中台”这个概念,是相对于前台和后台而生,是前台和后台的链接点,将业务共同的工具和技术予以沉淀。数据中台是指数据采集交换、共享融合、组织处理、建模分析、管理治理和服务应用于一体的综合性数据能力平台,在大数据生态中处于承上启下的功能,提供面向数据应用支撑的底座能力。广义上来给数据中台一个企业级的定义:“聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念”。
业务中台(企业核心金正能力的固化与赋能):能力固化与赋能,固化通用能力,赋能前线部队,提升配置效率,加快前线响应,产品化业务化,开辟全新生态。
数据中台(企业核心数据资产的整合与共享):资产整合与共享,整合多维数据,统一资产管理,连通数据孤岛,共享数据资源,深入挖掘数据,盘活资产价值。
业务中台实现各个业务模块功能的复用 数据中台对各个业务的数据进行集中的采集计算等操作 业务中台的分层不太清楚 数据中台的分层大致有采集、计算、统一对外接口和对外应用。
操作数据层,明细数据层,汇总数据层,应用数据层
1. 业务和服务的区别是什么
业务更加中性
2. 什么是微服务
3. 有的公司会做“技术中台” 这又是什么
将技术能力与业务能力分离,以产品化的方式向前台提供技术赋能
4. 中台上云的话 是IaaS(基础设施即服务)、PaaS(平台即服务)、DaaS(数据即服务)、还是SaaS(软件即服务)呢
IaaS只提供基础设施,PaaS相当于基础设施加操作系统,SaaS提供软件用户只需要操作数据,DaaS用户可以只做读写。
3. Kafka里Stateful Stream Processing怎么理解
无界数据流的处理
4. 如何用Flink设计一个实时训练系统
5. 时序模型在深度学习领域有哪些模型 原理和应用场景是什么
应用场景有时空分析 资源环境监测 地球空间认知
模型框架是依据单/多传感器节点和单/多维进行划分的
问题类型主要有:1. 通过其他时间序列和维度作为驱动来预测目标序列;2. 通过多元历史序列来预测未来t时间内的目标序列,将其他时间序列及维度作为目标的数据特征,同时预测多个目标序列;3. 通过多元历史序列及序列间的依赖关系来训练函数,预测目标序列
分析方法主要有:1. 仅根据历史时间序列的趋势发展预测未来时间序列的趋势发展,通过建立适当的数学模型拟合时间趋势曲线,根据建模预测未来时间序列的趋势曲线。常见模型包括平均自动回归模型。但是他们通常都不能对多个节点序列之间的关系进行建模,所以仅适合单节点单维度的。2. 为了提高预测的精度,非线性自动回归外生模型(NARX)或者机器学习算法被引入时序预测,此类方法根据具体的应用场景选取可能影响预测值的特征,引入模型,应用机器学习的回归模型进行预测。需要多个维度的数据建立模型较为复杂,预测精度高但仅针对特定的用用场景。且由于建模方式是预先定义的非线性形式,可能无法捕捉真正潜在的非线性关系。3. 序列生成模型主要是针对序列上下文关系进行学习,不能直接对空间关系建模,对于隐式空间关系也可以通过维度拼接、解点表示学习的办法进行建模。所以序列生成模型主要用来做单元或多元时间序列预测分析,而且主要还是以多维时间序列预测分析为主。4. 基于传统机器学习的方法是先抽取时间统计特征和空间结构特征再输入模型中,基于序列生成模型的方法主要学习序列上下文关系,而对空间关系建模能力弱(不是没有,可以维度拼接),所以有必要提出同时学习时间和空间关系的预测模型。忽略各个节点之间的网络关系结构的动态性,主要考虑静态的关系结构即图结构,所以大部分的时空序列模型都是基于时间图快照的时序图模型,即每个时刻所有节点的关系都是固定的静态图,或者干脆只考虑其间接隐含的、科学系的关系。这需要通过模型直接学习空间关系而不是手动抽取结构特征,通常需要结合空间卷积或图结构的学习方法,比如卷积网络和图神经网络等。
6. 海量实时物联网数据应该如何存储和管理 例如存在时空数据库中?时序数据库中?事件流?
7. TOCC实时交通指挥平台怎么搭建 例如交通流模型怎么做 需要哪些数据和模型 系统架构如何设计
TOCC是交通综合运行协调与应急指挥系统
服务政府决策、服务行业监管、服务企业运营、服务公众出行(服务用户为政府部门、行业管理、企业单位和社会公众)
四大应用系统:运行监测预警、应急协同指挥、辅助决策支持、公众出行服务
三大支撑系统:交通地理信息服务(基础地图服务、标志地标查找、地物添加)、统一身份认证平台(用户管理、身份认证、权限管理、单点登录)、统一视频监控服务(视频集成、视频功能整合、手机视频)
一个中心:综合交通大数据中心 包括(云、交通流理论、交通网络模型、交通需求模型、多模式仿真引擎、时空分析引擎)涉及 数据采集-体量;数据解析-价值;数据清洗-速度;数据分析-多样性;数据应用-真实性。
终端通过通信网络将数据传入
8. 深度学习的概念 可以突击一下 CNN RNN 反向传播 常用的激活函数 NLP 计算机视觉 GAN 迁移学习 强化学习 联邦学习
CNN :卷积神经网络
用传统的三层神经网络需要大量的参数,原因在于每个神经元都和相邻层的神经元相连接,但是思考一下,这种连接方式是必须的吗?可以用某种方式对一张图片的某个典型特征识别
同一层的神经元可以共享卷积核,那么对于高位数据的处理将会变得非常简单。并且使用卷积核后图片的尺寸变小,方便后续计算,并且我们不需要手动去选取特征,只用设计好卷积核的尺寸,数量和滑动的步长就可以让它自己去训练了
RNN:循环神经网络
BP算法和CNN算法仅考虑一个输入的影响而不考虑其他时刻输入的影响,对于与时间先后有关的预测就不能准确预测。
RNN是一种特殊的神经网络结构,与DNN和CNN不同的是它不仅考虑前一时刻的输入,也赋予网络对前序内容的记忆。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
RNN的应用:自然语言处理,机器翻译,语音事别,图像描述生成,推荐
反向传播(BackPropagation):
损失函数,使用平均绝对误差等数学工具表达出的输出结果和真实结果的偏差
梯度下降
常用的激活函数
在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数 ,引入非线性函数作为激励函数,这样深层神经网络的表达能力就更加强大
sigmod tanh ReLU ELU PReLU
NLP
神经语言程序学
计算机视觉
从图像或者多维数据中获取信息
GAN
生成式对抗网络 一种复杂分布上无监督学习的深度学习模型,生成和判别互相博弈学习
迁移学习
把任务A开发的模型作为初始点,重新使用在任务B的开发模型的过程中
强化学习
不要求预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数
联邦学习
一个机器学习框架,能有效帮助多个机构进行数据使用和机器学习建模
9. 大数据那块 谷歌的三驾马车
google的三驾马车:GFS(可扩展的大型数据密集型应用的分布式文件系统)、MapReduce(超大集群的简单数据处理)、Bigtable(结构化数据的分布式存储系统)