数据分析开发

SQL:结构化语言查询

RDBMS:

数据分析、数据开发

数据分析分类

        1)原因分析:企业出现问题,分析出现问题所在 ——离线分析

        2)现状分析:对过去、现在的分析 —— 实施分析

        3)未来趋势的分析:使用各种图表和方法论 ——预测,数据挖掘

   

数据分析的步骤

        1)明确分析的目的和思路 

                        需求的制定分析的思路

                        (1)PEST 分析法

                        (2)5W1H分析法

        2)数据收集 

                        (1)关系型数据库

                        (2)业务系统

                        (3)公开的数据:行业、政府等公开的数据

                        (4)日志文件:记录用户行为

                         (5)文件

                         (6)爬虫爬取

                3)数据处理

                                清洗数据

                4)数据计算

                                按照需求计算各种指标

                5)数据展示

                                展示成各种可视化的组件

                  6)形成报告

                                更为规范的展示保存分析的结果

大数据(Big data)

                通过普通的主流的数据处理技术不能在有效的时间内对数据的处理

                核心价值:存储和分析计算数据        

   

分布式集群

        分布式:分布式是一种顶层的设计思想

        集群架构:是分布式思想的具体实现

 

 HDFS (分布式文件系统)——分布式数据存储

1、HDFS 定义 

HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。

2、 HDFS优缺点

优点:

        1) 高容错性

                数据自动保存多个副本,它通过增加副本的形式,提高容错性。

                第一个f副本丢失后,它可以自动恢复

         2) 适合处理大数据

                数据规模:能够处理数据规模达到GB、TB,甚至达到PB级别的数据

                文件规模:能够处理百万规模以上的文件数量,数量相当之大。

         3)可构建在廉价,通过多个副本机制,提高可靠性。

        

HDFS的组成:

 

 

1)NameNode

简称NN,是HDFS集群的master

1)管理整个HDFS的命名空间,维护目录树的结构:HDFS的目录树的结构跟LINUX的文件系统的目录结构一致

2)存储元数据,元数据就是描述数据的数据,包括:文件的名字,所属的用户,文件的大小,存储的位置,时间,包括块信息。

3)管理副本策略:默认的副本是3个

4)处理客户端的请求

2)DataNode

slave 角色,存储实际的数据块

1)数据是以块block为单位进行存储,默认的块大小是128M。(2、3版本),1版本是64M

3)client客户端 

使用HDFS系统的通道(接口)

        CLI:命令行

        WEB:网页图形化界面

1)上传文件时,按照block的大小进行切分

2)与NameNode交互,获取文件位置信息

3)与DataNode交互,读取或者写入文件

4)client提供一写命令来管理HDFS,比如NameNode格式化;

5)client可以通过一些命令来访问HDFS,比如对HDFS增删查改操作。

 4)secondary NameNode

        并非NameNode的热备,当NameNode挂掉时,secondary NameNode并不能立马代替NameNode,提供服务。

        1)辅助NameNode分担其工作量

        2)紧急情况下,可辅助恢复NameNode

可以使用zookeeper 组件实现热备

注:在3的版本,使用纠删码技术

Hdfs的基本操作

        通过CLI来进行操作

 HDFS写入文件

1)HDFS Client 向NameNode发生 申请写入请求

2)NameNode 回复 申请写入 同意信息

3)HDFS Client 发送 申请写入block 请求

4)NameNode 回复 DataNode 信息

5)HDFS Client 与第一台DataNode建立连接

6)HDFS Client 以packet (包)为单位传输数据 (DataNode与第二个DataNode建立管道,传输数据,第二个DataNode与第三个DataNode建立管道传输数据        )

7)DataNode 回复HDFS Client 传输完成响应

8)HDFS Client 通知 NameNode 文件上传结束

 

HDFS 读取文件

1)业务系统调用HDFS Client 提供的API 打开分布式系统文件

2)与NameNode建立联系,获取块信息(元数据)

3)业务系统调用read API

4)根据NameNode提供的信息,与DataNode建立联系,获取相应的数据块(Client根据就近原则读取数据)

5)HDFS Client 会与多个DataNode通讯获得数据

6)数据读取完成后,业务调用close关闭连接

 

 

MapReduce 

  是一个分布式计算框架,核心思想是 分而治之,先分后合。

  分为两个阶段:

        1、Map阶段:Mapping

                <Oracle,1>

                <java,1>     

                <pythen,1>

               <Oracle,1>

                <java,1> 

      
       2、 Reduce 阶段

                根据key 进行聚合操作

 注意:      

         在MapReduce里面,数据都是以<key,value>的形式存在,Map<key,value>

         并发(并行):多个任务同时进行

         串行:多个任务之间存在依赖关系,需要前后进行

 

Yarn 

Yarn(

1)ResourceManager(RM)

主要作用:

        (1)处理客户端请求

        (2)监控NodeManager

        (3)启动或监控ApplicationMaster

        (4)资源的分配与调度

2)NodeManager(NM)

    主要作用

        (1)管理节点上的资源

        (2)处理来自ResourceManager的命令

        (3)处理来自ApplicationMaster的命令

3)ApplicationMaster(AM)作用如下

        (1))为应用程序申请资源并分配给内部的任务

        (2)任务的监控与容错

4)Container

Container是YARN中的资源抽象,它封装了某个节点上的多个维度资源,如ne内存、CPU、磁盘、网络等。

 

 

 Mysql的简单操作:

mysql -h172.0.0.1 -uroot -p123456

mysql > show databases;  --显示数据库

mysql> use b0605;            --进入库

mysql > show tables          --查看数据库下的表格

mysql> select * from student;

mysql> create database b0713 --创建库

mysql> show databases  --查看库

mysql> use b0713

mysql> create table student(sid int,sname varchar(20),age int,sex varchar(9));

mysql> select * from student

mysql> insert into student values(1002,'Rose',20,'female');

mysql> select * from student

mysql> exit

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值