学习笔记,仅供参考,有错必纠


文章目录

  • 常用的大数据分析平台
    • 什么是大数据分析平台
    • 基于Hadoop的大数据分析平台
    • 阿里云大数据平台
    • 典型阿里云大数据平台架构
    • MaxCompute
      • MaxCompute 的主要功能及作用
      • MaxCompute 的使用流程
      • MaxCompute常见使用方式
      • MaxCompute的客户端
      • MaxCompute的客户端应用
      • 数据上传/下载综述
      • Tunnel上传/下载数据
    • MaxCompute SQL
      • MaxCompute SQL的关键字
      • MaxCompute SQL的类型转换
      • MaxCompute SQL的运算符
      • MaxCompute SQL的DDL语句
      • MaxCompute SQL的DML语句
      • MaxCompute SQL的函数
      • UDF 实现逻辑
      • UDF的开发流程
    • MapReduce
      • MapReduce(MR)的开发应用流程

常用的大数据分析平台

什么是大数据分析平台

大数据分析平台就是依据企业的数据需求,整合当前主流的、成熟的各种具有不同侧重点的大数据处理分析框架和工具,实现对海量数据的挖掘和分析,满足企业的数据需求。通常意义上讲,大数据分析平台包括如下功能模块:

  • 数据源:数据源决定着数据采集,常见的数据源可分为结构化、非结构化、半结构化数据,依据采集方式又可分批数据采集、实时以及流式数据采集等;

  • 数据采集:即将数据导入到大数据分析平台;

  • 数据存储:采集后的数据,经过系统的清洗,转换、分类等操作,将数据储存在系统中,为了便于数据分析时的提取及应用;

  • 数据处理和分析:即对存储在系统中的数据分析、处理,数据处理与分析的快慢,是检验数据分析系统功能的重要指标,数据分析系统得出数据分析的最终结果,用于业务应用。

  • 数据展示:数据可视化,分析的结果以视觉的角度展现在用户面前,达到最终的目的。

基于Hadoop的大数据分析平台

大数据平台是对海量结构化、非结构化、半机构化数据进行采集、存储、计算、统计、分析处理的一系列技术平台。

大数据平台处理的数据量通常是TB级,甚至是PB或EB级的数据,其涉及的技术主要有分布式计算、高并发处理、高可用处理、集群管理、实时计算等。

  • Hadoop作为一个开发和运行处理大规模数据的软件平台,实现了在大量的廉价计算机组成的集群中对海量数据进行分布式计算;

  • Hadoop框架中最核心的设计是HDFS和MapReduce;

  • HDFS是一个高度容错性的系统,MapReduce是一套可以从海量的数据中提取数据最后返回结果集的编程模型;

  • Hadoop家族还包含各种开源组件,比如Yarn,Zookeeper,Hbase,Hive,Sqoop,Impala,Spark等;

阿里云大数据平台

典型阿里云大数据平台架构

MaxCompute

大数据计算服务MaxCompute,由阿里云自主研发,提供针对TB/PB级数据、实时性要求不高分布式处理能力,应用于数据分析、挖掘、商业智能等领域,阿里巴巴的数据业务都运行在MaxCompute。

MaxCompute 的主要功能及作用

MaxCompute致力于批量结构化数据的存储和计算,提供海量数据仓库的解决方案及分析建模服务。通常和DataWorks一起构建大数据分析平台。

MaxCompute 的使用流程

MaxCompute所有的操作都是基于表,因此MaxCompute的使用从安装配置环境后的建表开始.

MaxCompute常见使用方式

使用方式 使用场景及优势
API/SDK:以RESTful API或Java SDK、python SDK的方式提供离线数据处理服务。 定制开发,满足个性化需求,与外部系统对接
CLTCommand Line Tool):运行在Window/Linux下的客户端工具,通过CLT可以提交命令完成Project管理、DDL、DML等操作。 本地上传下载数据、项目空间管理;灵活、易用
DataWorks:提供了上层可视化ETL/BI工具,用户可以基于DataWorks完成数据同步、任务调度、报表生成等常见操作。 团队分工协作数据开发全流程,高效、安全
IDE插件:eclipse插件、IDEA插件、RStudio插件,扩展IDE对MaxCompute的支持 使用第三方IDE对接MaxCompute,提升本地开发、调试效率

MaxCompute的客户端

MaxCompute客户端是一个java程序,需要JRE环境才能运行,请下载并安装JRE 1.6+版本(JRE 1.7或以上版本,建议优先使用JRE 1.7/1.8,其中JRE 1.9已经支持,JRE 1.10暂时还不支持)。

使用步骤:

  • 官网下载客户端压缩文件

  • 解压文件,可以看到4个文件夹:bin/conf/lib/plugins/

  • 修改conf/odps_conf.ini文件,其中只需要修改project_nameaccess_idaccess_key三项

MaxCompute的客户端应用

运行bin目录下的MaxCompute

  • Linux系统下运行./bin/odpscmd

  • Windows下运行./bin/odpscmd.bat

运行后我们可以输入sql语句进行查询,比如:

 odps@my_project> desc my_table;                 -- 查看表结构odps@my_project> list tables;                        -- 查看表名列表odps@my_project> create table my_talbe(id bigint );-- 创建表

数据上传/下载综述

MaxCompute系统上传/下载数据包括两种方式:

Tunnel上传/下载数据

MaxCompute客户端提供Tunnel命令实现数据的上传/下载,其基本语法为:

tunnel <subcommand> [options]  args
#示例
#下载数据
tunnel download  -c GBK  tmp_table  d:\tmp_table.csv
#上传数据
tunnel upload -c GBK d:\dim_map.csv dim_map

MaxCompute SQL

MaxCompute SQL 是个数据仓库工具,Query 解析后,计算和存储交由底层的飞天实现。

MaxCompute SQL 支持常用的 SQL 语法,包括窗口函数

MaxCompute SQL 可以看做对标准 SQL 的支持,但是不能简单等同于数据库

MaxCompute SQL 不支持事务、主外键约束、索引等

MaxCompute SQL 适用于海量数据(TB/PB级别)的数据运算

MaxCompute SQL 的每个作业的准备,提交等阶段要花费较长时间,实时性不高

MaxCompute SQL 长度有限制,目前是不能超过 2 M

MaxCompute SQL的关键字

MaxComputeSQL语句的关键字作为保留字。在对表、列或是分区命名时如若使用关键字,需给关键字加``符号进行转义,否则会报错。保留字不区分大小写。

常见如下图所示:

MaxCompute SQL的类型转换

MaxCompute SQL的类型转换分为显示转换和隐式转换:

  • 显示转换:是指用cast将一种数据类型的值转换为另一种类型的值的行为
  • 隐式转换:是指依据上下文使用环境及类型转换规则自动进行的类型转换

下面是显示转换的数据类型转换表,其中Y表示可以转换,N表示不可以转换:

下面是隐式转换的数据类型转换表,其中T表示可以转换,F表示不可以转换:

MaxCompute SQL的运算符

关系运算符:

>, <, >=, <=, =, <>, is null, is not null, like, rlike, in, between and

算术运算符:

+, -, *, /, %

位运算符:

&, |

逻辑运算符:

and, or, not

MaxCompute SQL的DDL语句

  • 创建表/视图

  • 添加分区

  • 查看表/分区信息

  • 删除分区

  • 修改表

  • 修改生命周期

MaxCompute SQL的DML语句

  • SELECT 操作
  • INSERT操作
  • TRUNCATE操作
  • 函数

MaxCompute SQL的函数

MaxCompute中的函数 = 内置函数 + 自定义函数

自定义函数:

  • UDF:用户自定义标量函数
  • UDTF:用户自定义表值函数
  • UDAF:用户自定义聚组函数

UDF 实现逻辑

  • 实现 UDF 需要继承 com.aliyun.odps.udf.UDF 类,并实现 evaluate 方法

  • evaluate 方法必须是 static 的 public 方法

  • evaluate 方法的参数和返回值类型将作为 SQL 中 UDF 的函数签名

  • 用户可以在 UDF 中实现多个 evaluate 方法

  • 调用 UDF 时框架会依据 UDF 调用的参数类型匹配正确的 evaluate 方法

UDF的开发流程

MapReduce

MapReduce(MR)的开发应用流程

  • 安装配置环境
  • 开发 MR 程序
  • 本地模式测试脚本
  • 导出 Jar 包
  • 上传至 MaxCompute 项目空间
  • 在 MaxCompute 中使用MR

阿里大数据分析与应用(part3)--常用的大数据分析平台相关推荐

  1. 哈工大大数据实验_科研常用 | 实验大数据分析方法

    对于每个科研工作者而言,对实验数据进行处理是在开始论文写作之前十分常见的工作之一.但是,常见的数据分析方法有哪些呢?常用的数据分析方法有:聚类分析.因子分析.相关分析.对应分析.回归分析.方差分析. ...

  2. axure9数据统计插件_数据分析太棘手?常用8大统计软件解决难题!

    在数据分析工作中我们常常需要处理大量的统计问题,这个时候就迫切的需要一个适合统计分析工具,今天小编就给大家介绍八个我们常用的统计分析软件,并且详细介绍各自的特点以及适用的专业,方面大家从中选择一个切合 ...

  3. 大数据之-Hadoop3.x_Yarn_常用命令---大数据之hadoop3.x工作笔记0147

    可以看到我们执行wordcount案例,然后可以通过yarn命令查看任务运行情况 首先我们去启动集群. 可以看到yarn也启动好了,集群启动好了以后

  4. 大数据在线分析处理和常用工具

    大数据在线分析处理的特点 . 数据源源不断的到来: 数据需要尽快的得到处理,不能产生积压: 处理之后的数据量依然巨大,仍然后TB级甚至PB级的数据量: 处理的结果能够尽快的展现: 以上四个特点可以总结 ...

  5. 用Python做数据分析的5个常用模型(内附资料)

    字节跳动11w月薪招数据分析师的新闻曝出后,数据分析人才的薪资问题再次冲上热搜! 数据来源:职友集 从图中可以看出,数据分析相关岗位的平均薪资虽然高达13.5k,但下至4.5k上至50k,跨度非常巨大 ...

  6. ant如何形成时间轴和图库_Python数据可视化常用4大绘图库原理详解_python

    这篇文章主要介绍了Python数据可视化常用4大绘图库原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天我们就用一篇文章,带大家梳理mat ...

  7. 数据归一化处理方法_科研常用的实验数据分析与处理方法

    科研常用的实验数据分析与处理方法 对于每个科研工作者而言,对实验数据进行处理是在开始论文写作之前十分常见的工作之一.但是,常见的数据分析方法有哪些呢?常用的数据分析方法有:聚类分析.因子分析.相关分析 ...

  8. 大数据workshop:《云数据·大计算:海量日志数据分析与应用》之《社交数据分析:好友推荐》篇...

    大数据workshop:<云数据·大计算:海量日志数据分析与应用>之<社交数据分析:好友推荐>篇 实验背景介绍 了解更多2017云栖大会·成都峰会 TechInsight &a ...

  9. 大数据工程师常用的大数据BI工具是什么?

    大数据工程师常用的大数据BI工具是什么? [导语]目前,无论是大企业还是小企业,都面临着数字化转型的挑战.如何在大数据中获得更好地洞察力,有效改善用户体验,同时达到优化生产力的效果,这时候进行数据分析 ...

最新文章

  1. HashMap和LinkedHashMap的区别
  2. 命令行中创建和打开模Android拟器
  3. ALSA(二), makefile, Autotools, premake
  4. 还在纠结Dapper或者EF Core?不妨试试“混合ORM”--RepoDb
  5. MySQL优化filler值_MySQL 性能优化神器 Explain 使用分析
  6. 内向的人可以做产品经理吗?
  7. jdk8 Arrays.sort()实现分析
  8. 从源码分析RocketMQ系列-消息拉取PullMessageProcessor详解
  9. 成功送小米上市的米粉们,反被 P2P 爆雷炸成了灰!
  10. 关于使用yum“The program package-cleanup is...”的解决办法
  11. Eigen中 EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF的使用方式_C/C++中的预编译简介
  12. 渗透测试/应急演练过程中metasploit制作木马连接失败问题排查
  13. mysql table key,MySQL中为table添加primary key的两种方法[多图]
  14. 人工智能就业前景越来越严峻了,你还在坚持吗?
  15. [教程]配置青鸟云Web服务器
  16. 超体故事:写作,我想少一些功利多一点真诚
  17. 随便拍几张照片赚了3K,近期的风口视频项目
  18. 服务器显示屏 超出工作频率范围,WIN7电脑显示器超出工作频率范围的处理方法...
  19. (二十一)sift 特征点检测
  20. 数据库DB与数据仓库DW区别和联系

热门文章

  1. Django死活不跳转的问题
  2. 4-3 数据离散化(无error版本)
  3. 数据结构:线性数据结构(4)-列表(栈,队列,deques, 列表)
  4. java file类复制文件路径_java进阶(34)--File类、目录复制
  5. 并发执行变成串行_大白话Java并发面试问题之Java 8如何优化CAS性能?
  6. java定时任务的两种实现方式
  7. Android Unable to resolve target 'android-8'
  8. 测试过程中常用的linux命令之【查找指定的文件内容】
  9. 深入浅出空间索引:2
  10. C文件操作之写入字符串到指定文件并在屏幕显示