ios专题

阿里云ACA课程笔记

2018-01-14  本文已影响743人  柠檬红茶cc

大数据概述

大数据的定义

大数据,指无法在可承受的时间范围内用常规软件进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

《第三次浪潮》-托夫勒>>大数据应用-麦肯锡>>《大数据时代》-舍恩伯格>>计算助理-谷歌>>国内规模化-阿里云

发展历程及特点

主要特征:4V

换个角度

如何产生的?

为什么会有大数据?

大数据从哪来?
媒体数据、网络日志、公共设施、单位组织、大型设备、工业领域、地理位置、基因图谱

大数据的价值

解决四种问题

提示两种能力

大数据核心价值

存储、计算与分析

分布式存储
分布式计算

数据分析

  1. 数据采集与处理
  2. 数据质量与管理
  3. 机器学习
  4. 数据可视化

大数据流行技术

Hadoop生态圈


阿里云体系

数加平台介绍

数加定位

计算引擎:离线计算 流式计算 在线计算

数加业务范围


分析型数据库

AnalyticDB产品介绍

OLAP:在线分析处理,以分析为主
OLTP:在线业务系统,以业务支撑为主
OLAP(On-Line Analytical Processing)是数据仓库的主要的应用,专门设计用于支持复杂的分析操作
主要概念:

MPP数据库

MMP(Massive Parallel Processing,大规模并行处理):由多个耦合处理单元组成,每个单元拥有自己的CPU、内存、存储等,每个单元内部都有操作系统和管理数据库的实例副本,最大特点在于不共享资源

分析型数据库AnalyticDB

产品特点

基本概念

表组:是一系列可以发生关联的表的集合,是一个逻辑的概念。可分为普通表组和维度表组



表组特点:


MaxCompute

目标:

  1. 了解MaxCompute特点
  2. 掌握客户端工具的使用
  3. 掌握MaxCompute SQL
  4. 了解权限管理与项目空间保护

产品介绍

大数据计算服务(MaxCompute,原ODPS)提供针对TB/PB级数据、实时性要求不高的分布式处理能力,应用于数据分析、挖掘、商业智能等领域。
MaxCompute对象:



分区表指的是在创建表时指定分区键,即指定表内的某几个字段作为分区列。



在使用数据时如果指定了需要访问的分区名称,则只会读取相应的分区,避免全表扫描,提高处理效率,降低费用

其他概念:
任务(Task):MaxCompute基本计算单元,SQL即MR都是通过任务完成的
实例(Instance):任务的一个具体实例,表示实际运行的task
沙箱(SandBox):按照安全策略限制程序行为的执行环境

数据类型:



架构介绍

连接使用


数据上传和下载

主要方式有:

这里主要介绍 Tunnel 命令
Tunnel 基本语法:tunnel <subcommand> [options] args
数据上传:tunnel upload [options] <path> <[project.]table[/partition]>
数据下载:tunnel download [options] <[project.]table[/partition]> <path>
几个重要参数:


关于分隔符:

sql组成:
DDL:数据库模式定义语言,关键字:create
DML:数据操纵语言,关键字:Insert、delete、update
DCL:数据库控制语言 ,关键字:grant、remove
DQL:数据库查询语言,关键字:select

DDL 介绍

基本语法:
建表:create table [if not exists] table_name
删表:drop table [if exists] table_name;
修改表名:alter table table_name rename to new_table_name;

表的生命周期:
生命周期(LifeCycle):MaxCompute 表中的数据,从最后一次更新的时间算起,在经过指定的时间后没有变动,则此表将 MaxCompute 自动回收(删除)。此指定时间就是该MaxCompute 表的生命周期。

快捷建表 CTAS
两种谓语动词 like 和 as

CREATE TABLE < table_name> AS SELECT <column_list> FROM <table_name> WHERE...;
CREATE TABLE < table_name> LIKE <table_name>;

like 和 as 的区别:

分区操作:
添加分区:alter table table_name add [if not exists] partition partition_spec
删除分区:alter table table_name drop [if exists] partition_spec

修改表属性:
添加列:alter table table_name add colums (col_name1 type1, col_name2 type2 ...)
改列名:alter table table_name change column old_col_name rename to new_col_name;
表注释:alter table table_name set comment 'tbl comment';
列注释:alter table table_name change column col_name comment 'comment';
生命周期:alter table table_name set lifecycle days;
修改时间:alter table table_name touch [partition(partition_col='partition_col_value', ...

视图操作:
创建视图:CREATE [OR REPLACE] VIEW [IF NOT EXISTS] view_name
删除视图:DROP VIEW [IF NOT EXISTS] view_name;
重命名视图:ALTER VIEW view_name RENAME TO new_view_name;


DML介绍

查询 SELECT

select [all | distinct] select_expr, select_expr, ...
  from table_reference
  [where where_condition]
  [group by col_list]
  [order by order_condition]
  [distribute by distribute_condition [sort by sort_condition] ]
  [limit number]

更新数据 INSERT INTO/OVERWEITE

输出到普通表或静态分区
insert overwrite | into table tablename [partition (partcol1=val1, partcol2=val2 ...)]
select_statement
from from_statement;

输出到动态分区
insert overwrite table tablename partition (partcol1, partcol2 ...)
select_statement from from_statement;

注:
如果目有多级分区,在运行insert语句时允许指定部分分区为静态,但是静态分区必须是高级分区
动态生成的分区值不可以为null

多路输出 MULTI INSERT

from from_statement
insert overwrite | into table tablename1 
[partition (partcol1=val1, partcol2=val2 ...)]
  select_statement1
[insert overwrite | into table tablename2 [partition ...]
  select_statement2]

多路输出的限制:
单个SQL里最多可以写出256路输出
对于分区表,同一个目标分区不可以出现多次
对于未分区表,该表不能作为目标表多次出现
对于同一张分区表的不同分区,不能同时有insert overwrite 和 insert into 操作

表关联 JOIN



MAPJOIN
使用情景:一个大表和一个或多个小表做join
基本原理:将用户指定的小表全部加载到执行join操作的程序的内存中,从而加快join的执行速度



分支表达式 CASE WHEN
两种 CASE WHEN 语法
CASE <value>
  WHEN <condition_1> then <result_1>
  WHEN <condition_2> then <result_2>
  ...
  else <result_n>
END

CASE
  WHEN <condition_1> then <result_1>
  WHEN <condition_2> then <result_2>
  ...
  else <result_n>
END

内置函数


其它使用方式

用户自定函数(User Defined Function , UDF)

MapReduce



Graph



选择流程



大数据开发套件DataIDE

DataIDE 产品概述

大数据开发套件(DataIDE) 是阿里云数加重要的Paas平台产品,基于MaxCompute作为核心的计算、存储引擎,提供了海量数据的离线加工分析、数据挖掘的能力。提供全面托管的工作流服务,一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。

数据开发流程


DataIDE应用场景


DataIDE基本概念

任务(Task):对数据执行的操作,通常每个任务使用0或0个以上数据表(数据集)作为输入,生成一个或多个数据表(数据集)作为输出。DataIDE中任务主要分为三种:节点任务、工作流任务以及内部节点。
实例(Instance):代表了某个任务在某时某刻执行的一个快照,包含任务的运行时间、运行状态运行日志等信息。在调度系统中的任务经过调度系统、手动触发运行后会生成一个实例。在DataIDE的调度系统自动调度的任务,会提前生成对应的实例。
提交(Submit):提交指开发的节点任务、工作流任务从开发IDE环境发布到调度系统的过程。完成提交以后,相应的代码、调度配置全部合并到调度系统中,调度系统按照相关配置进行调度操作。未提交的节点任务、工作流任务不会进入到调度系统。

DataIDE中的角色


多环境



分为开发、测试、生产环境


DataIDE操作演示

配套实验:DataIDE基本操作


推荐引擎RecEng

推荐系统介绍

什么是推荐系统?
利用电子商务网站向客户提供商品信息和建议,帮助用户觉得购买什么产品,模拟销售人员帮助客户完成购买过程

什么是个性化推荐系统?
个性化推荐系统是根据用户的兴趣特点购买行为,向用户推荐感兴趣的信息和商品。
个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。


推荐引擎RecEng介绍

阿里云推荐引擎(Recommendation Engine,RecEng)是在阿里云公有云环境下建立的一套推荐服务框架,目标是让广大中小企业能够使用这套框架快速搭建满足自身业务需求的推荐服务。


推荐引擎RecEng使用

配套实验


Quick BI数据可视化(静态)

目标:

  1. 了解DataV的产品特点
  2. 了解可视化大屏的使用场景
  3. 使用DataV模板制作可视化大屏

DataV 产品介绍

DataV是阿里云提供的数据可视化在线工具。通过拖拽式的操作,使用数据连接、可视化组件库、行业设计模板库、多终端适配与发布运维等功能,让非专业人员也可以快速的将数据的价值通过视觉进行传达

DataV 大屏介绍

大屏设计原则:



DataV数据可视化(动态)

目标:

  1. 了解DataV的产品特点
  2. 了解可视化大屏的使用场景
  3. 使用DataV模板制作可视化大屏

DataV 产品介绍

DataV是阿里云提供的数据可视化在线工具。通过拖拽式的操作,使用数据连接、可视化组件库、行业设计模板库、多终端适配与发布运维等功能,让非专业人员也可以快速的将数据的价值通过视觉进行传达

DataV 大屏介绍

大屏设计原则:



机器学习

目标:

  1. 了解机器学习及阿里云PAI
  2. 了解简单的聚类算法和分类算法
  3. 了解机器学习的基本使用流程
  4. 使用PAI进行聚类/分类分析

机器学习介绍

分类


阿里云机器学习PAI介绍

分类算法KNN介绍

分类算法通过对已知类别训练集的分析,从中发现分类规则,以此预测新数据的类别。分类算法的应用十分广泛,银行风险评估、客户类别分类、文本检索和搜索引擎分类、安全领域中的入侵检测以及软件项目中的应用等。

按原理分类:

常用评估指标:

KNN优缺点
优点

缺点

聚类算法K-Means介绍

聚类:就是将相似的事物聚集在一起,而将不相似的事物划分到不同的类别的过程。它是一种探索性的分析,不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用方法的不同,常常会得到不同的结论。
常见算法:层次聚类、划分聚类、基于密度的聚类

K-Means优缺点
优点:

缺点:

机器学习常见流程介绍

数据挖掘方法论


上一篇 下一篇

猜你喜欢

热点阅读