开发者学堂课程【场景实践-阿里云 Quick BI 在房源的画像分析上的应用:阿里云产品MaxCompute介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/525/detail/7083
阿里云产品MaxCompute介绍
内容介绍:
一、MaxCompute
二、MaxCompute 基本概念
三、MaxCompute SQL
四、数据开发产品 Data IDE
五、数据开发(Data IDE)常见场景
六、数据开发(Data IDE)日常任务概览
七、数据展现产品 Quick Bl
八、Quick BI 特点
九、Quick BI 全景图
本节介绍构建画像所应用到的阿里云产品
一、MaxCompute
原名 ODPS,大数据计算服务(MaxCompute,原ODPS )由阿里云自主研发,提供针对 TB/PB 级数据、实时性要求不高的分布式处理能力,应用于数据分析、挖掘、商业智能等领域。阿里巴巴的数据业务都运行在 ODPS 上。
1、分布式:
采用分布式集群架构
跨集群技术突破
机群规模可以根据需要灵活扩展
2、安全:
自动存储容错机制
所有计算在沙箱中运行(不允许访问底层、不允许使用函数命令直接访问内核)
保障数据高安全性、高可靠性
3、易用:
标准 API 的方式提供服务
高并发高吞吐量数据上传下载(如果数量较大建议采用后台命令上传方式,因为在前台开发套件上上传数据有一定的约束限制)
全面支持基于 SQL 的数据处理
4、管理与授权:
支持多用户管理协同分析数据(房屋画像包含了房主的私密信息、房子的私密信息,都为隐私不能随便查看)
支持多种方式对用户权限管理
配置灵活的数据访问控制策略(可以控制到字段集)
https://help.aliyun.com/product/27797.html?spm=5176.doc27800.3.1.jx0ByB
二、MaxCompute基本概念
1、项目空间 Project
MaxCompute 的基本组织单元,它类似于传统数据库的 Database 或 Schema 的概念,是进行多用户隔离和访问控制的主要边界。一个用户可以同时拥有多个项目空间的权限。通过安全授权,可以在一个项目空间中访问另一个项目空间中的对象,例如∶表(Table),资源(Resource),函数(Function),实例(Instance)
2、表 Table
MaxCompute 的数据存储单元,它在逻辑上也是由行和列组成的二维结构,每行代表一条记录(与关系型数据库类似),每列表示相同数据类型的一个字段,一条记录可以包含一个或多个列,各个列的名称和类型构成这张表的Schema,表格分两种类型︰内部表及外部表(MaxCompute2.0版本开始支持外部表)。
3、分区 Partition
为避免全表扫描,提高处理效率,为表创建分区.MaxCompute2.0支持 TINYINT、SMALLINT、INT、BIGINT、VARCHAR 和 STRING 分区类型。分区使用限制︰单表分区层级最多6级;单表分区数最多允许60000个分区;一次查询最多查询分区数为10000个分区。
4、任务 Task
数据处理相当于后台的批量处理、自动化处理。通过任务来解决。任务(Task)是 MaxCompute 的基本计算单元。SQL及 MapReduce 功能都是通过任务(Task)完成的;用户提交任务尤其是计算型任务,分解成执行计划,执行计划是由具有依赖关系的多个执行阶段构成,逻辑上形成有向图。
5、资源Resource
资源(Resource )是 MaxCompute 的特有概念。用户如果想使用 MaxCompute 的自定义函数(UDF)或 MapReduce功能需要依赖资源来完成﹔资源类型包括:File 类型、Table 类型、Jar 类型、Archive 类型(可以将表、文件等作为资源进行数据处理)
MaxCompute 底层存储及数据类型
MaxCompute 底层存储使用的是分布式文件系统 PanGu
基于列存储的文件格式,降低了无效磁盘读写,减少 IO
以列为单位聚簇组织(聚簇被称为Block),存储前压缩,节省大量空间
三、MaxCompute SQL
适用于海量数据(GB、TB、EB 级别),离线批量计算的场合(首次使用发现选择一两条数据记录缓慢,实际上是因为 SQL 在后台处理是分布结构需要转换成 mapreduce 城市化处理方式来进行处理数据。小数据体现不出优势,但是选用 TB 以上就会发现处理性能很好。)
作业提交后会有几十秒到数分钟不等的排队调度,适合处理跑批作业,无法在毫秒级别返回用户结果
用户学习成本低,不需要了解分布式概念
不支持 Update、Delete ;不支持主键、外键、事务(仅作数据分析使用)
其它限制及与 Oracle,Mysql,Hive 对比参考∶
https://help.aliyun.com/document_detail/54051.html
四、数据开发产品 Data IDE
大数据开发集成环境(Data lDE),提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,为您提供一个高效、安全的离线数据开发环境。并且拥有强大的 Open API 为数据应用开发者提供良好的再创作生态。
1、数据开发:
·可视化的业务流程设计器
·代码类型编码和调试
·自动补全代码
·代码格式化
·代码版本管理
·多人协同开发等功能。
2、数据管理:
·涵盖全链路数据血缘
·数据计量
·影响分析
·支持元数据
·异构数据
·业务元数据
·数据生命周期数据资产
·数据权限等管理。
3、作业调度(这些数据处理不能使用人为每日处理,必须有自动化系统进行管理):
·多时间维度的离线任务调度
·在线运维
·监控报警
·支持超过百万级的离线调度任务量
五、数据开发(Data IDE)常见场景
构建数据画像、数据仓库、数据分析常见的这种业务流程。
从数据产生的原系统将数据收集存储后进行分析处理,最后进行数据提取和应用。是典型的 BI 应用场景。画像步骤基本类似,经过这些步骤。
1、将业务系统产生的数据轻松上云,构建大型数据仓库和 BI 应用,利用 ODPS 强大的海量存储与数据处理能力。
2、基于数据开发快速使用和分析数据,将大数据加工结果导出后直接应用于业务系统,实现数据化运营。
3、针对作业调度与运维复杂性,数据开发提供统一友好的调度系统和可视化调度运维界面,解决运维管理不便等问题。
六、数据开发(Data IDE)日常任务概览
日常数据开发任务:数据开发项目管理、成员及权限管理、数据表管理、数据导入、创建任务、创建数据同步任务、创建自定义函数、创建 Open MR、创建 Shell 任务、测试任务、下线工作流
以上就是开发画像所使用到的所有任务。此实验较简单,主要使用 SQL 即可。通过数据导入创建任务,用 SQL 编写任务脚本。为了验证可以配一个调度,进行每天自动循环处理。
七、数据展现产品 Quick Bl
任务中有一个需求需要提供日常报表处理,此处采用阿里云的 Quick Bl 产品。
QuickBI 提供海量数据实时在线分析服务,支持拖拽式操作、提供了丰富的可视化效果(各种样式风格的报表:柱状图、饼状图等都有现成的模板组件,通过参数配置完成),可以帮助您轻松自如地完成数据分析、业务数据探查、报表制作等工作。它不止是业务人员“看”数据的工具,更是数据化运营的助推器,解决大数据应用“最后一公里”的问题,实现人人都是数据分析师。
八、Quick BI 特点
丰富的数据可视化效果、严密的权限管控、灵活的报表集成方案、智能加速引擎(开通后数据提取加快)、海量数据多维分析、多数据源支持
产品应用主要是展现报表,若是涉及到实际应用项目需要添加该权限。
九、Quick BI 全景图
完整流程如下:
该流程与数据处理流程、画像处理流程类似。但凡是数据处理系统基本为数据采集、数据预处理、数据加工分析、数据的应用及数据展现几个步骤。Quick BI 作为一个独立产品,同样存在数据源、数据处理、数据分析、数据展现。以上就是数据处理相关的业务、系统、产品所经过的基本步骤。数据展现完可以嵌入原系统进行查看。如果公司中已经存在正在运行的系统,不用再单独开发一套展现的 web 界面,可以直接进行嵌入,该方式在很多企业中较常见。