大数据的框架-流程梳理

大数据技术栈

  存储  HDFS  Hbase
  资源管理和协调 YARN Zookeeper
  计算: Hive  Spark  Flink
   其他: ES redis 

框架系统构成

  配置
  执行目录
  文件构成
  日志系统
  服务
 01.配置
    hadoop/etc/hadoop/hdfs-site.xml
    hbase/conf/hbase-site.xml
    /etc/redis/redis.conf
 02.日志
    hadoop/logs/hadoop-evs-namenode-evs-xps.log
 03.启动
    hadoop/sbin/start-all.sh
    hadoop/sbin/stop-all.sh
    hbase/bin/start-hbase.sh
        hbase/bin/start-hbase.sh
        hbase/bin/hbase-daemon.sh start regionserver
 04.运行
     hadoop/bin/hdfs
     /usr/bin/redis-server
 05.服务
  jps
    HDFS: NameNode  SecondaryNameNode  datanode
    YARN: ResourceManager
    Hbase: HMaster  HRegionServer HQuorumPeer  
  服务:
     systemctl status redis

具体

 构成组件
 基本功能
 启动流程-执行流程-启动的服务
 文件系统

大数据详情

  配置和命令

1.Hadoop

 hadoop fs -du -s -h /test
  hadoop fs -ls   /test
  -s, --summarize       display only a total for each argument
  -h, --human-readable
  -d, --max-depth=N 
 'hadoop-env.sh' 中 JAVA_HOME= 的配置
    ls  /usr/lib/jvm
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre

大数据比较

1.MapReduce

 将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce
   大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理
   将小数据集进一步分为<key, value>对
 1.spark提供了更丰富的算子
   Map阶段的map, flatMap, filter, keyBy,
   Reduce阶段的reduceByKey, sortByKey, mean, gourpBy, sort
 2.Flink
    有状态的计算
	  Managed State是由Flink管理的,Flink帮忙存储、恢复和优化,
	  Raw State是开发者自己管理的,需要自己序列化
	状态的数据结构上来说,Managed State支持了一系列常见的数据结构,
	    如ValueState、ListState、MapState
	对Managed State继续细分,它又有两种类型:
	  Keyed State和Operator State

3.split-apply-combine模式

大型数据集通常是高度结构化的,结构使得我们可以按不同的方式分组,
 有时候我们需要关注单个组的数据片断,有时需要聚合不同组内的信息,并相互比较。
 因此对数据的转换,可以采用split – apply – combine模式来进行处理:
   split:把要处理的数据分割成小片断;
 apply:对每个小片断独立进行操作;
 combine:把片断重新组合。

 利用这种模式解决问题在很多数据分析或编程问题中都会出现:
   Python当中,是map( ),filter( ),reduce( );
   Google 有 MapReduce;
   R 当中是split( ),*apply( ),aggregate( )…,以及plyr包
        base包中的apply函数族及其它的一些函数,直接对向量,数组,列表和数据框实现循环的操作
 baseR
   在R当中,split这个步骤是由split( ),subset( )等等函数完成的。 
   apply – combine步骤主要由apply函数族完
 plyr包
    可以针对不同的数据类型,在一个函数内同时完成split-apply-combine三个步骤,从而实现最大限度的高效和简洁   
     对应apply族的replicates和mapply这两个函数,分别表示n次重复和多元函数参数的情况
	 输入参数:
	   参数.data是我们要用来分片-计算-合并的;
	   参数.margins或者.variables描述了分片的方式;
       参数.fun表示用来处理的函数,其它更多的参数是传递给处理函数的
	   其中
	      输入类型时向量a时,其分片的话只能按照维度分,于是便有了.margins参数,
	      输入类型为数据框d时,分片只能是某一个特征向量.variables,
	      输入类型列表的分片只能是其元素了,唯一确定,便不需指定了。

参考

数据转换:split-apply-combine模式
原文地址:https://www.cnblogs.com/ytwang/p/15329058.html