大数据都学什么?(初学者)

一、学习大数据需要的基础

    java SE,EE(SSM)
        90%的大数据框架都是java写的
    MySQL
        SQL on Hadoop
    Linux
        大数据的框架安装在Linux操作系统上

二、需要学什么

    第一方面:大数据离线分析

        一般处理T+1数据
            Hadoop 2.X:(common、HDFS、MapReduce、YARN)
                环境搭建,处理数据的思想
            Hive:
                大数据数据仓库
                通过写SQL对数据进行操作,类似于mysql数据库中的sql
            HBase
                基于HDFS的NOSQL数据库
                面向列的存储
                
            协作框架:
                sqoop(桥梁:HDFS 《==》RDBMS)
                flume:收集日志文件中信息
                
                调度框架anzkaban,了解:crotab(Linux自带)、zeus(Alibaba)、Oozie(cloudera)
            
            扩展前沿框架:
                kylin、impala、ElasticSearch(ES)

               

    注意:关于第一方面的内容我的另一篇博客有详细的总结(是我搜索大量网上资料所得,可以帮你省下不少时间)


    第二方面:大数据实时分析

            以spark框架为主
            Scala:OOP + FP
            sparkCore:类比MapReduce
            sparkSQL:类比hive
            sparkStreaming:实时数据处理
            kafka:消息队列
        前沿框架扩展:flink  
            阿里巴巴 blink
   

    第三方面:大数据机器学习(扩展)

            spark MLlib:机器学习库
            pyspark编程:Python和spark的结合
            推荐系统
            python数据分析

            Python机器学习


大数据框架安装功能来划分

    海量数据存储:

        HDFS、Hive(本质存储数据还是hdfs)、HBASE、ES

    海量数据分析:

        MapReduce、Spark、SQL

最原始的Hadoop框架

    数据存储:HDFS(Hadoop Distributed File System)
    数据分析:MapReduce

Hadoop的起源

    Google的三篇论文

    虽然Google没有公布这三个产品的源码,
    但是他发布了这三个产品的详细设计论文,
    奠定了风靡全球的大数据算法的基础!

        Google FS        HDFS
        MapReduce        MapReduce
        BigTable        HBase

    将任务分解然后在多台处理能力较弱的计算节点中同时处理,然后将结果合并从而完成大数据处理。
    
    google:android,搜索,大数据框架,人工智能框架
    pagerank
    

Hadoop介绍

    大数据绝大多数框架,都属于Apache顶级项目
    http://apache.org/
    hadoop官网:
    http://hadoop.apache.org/
    
分布式
    相对于【集中式】
    需要多台机器,进行协助完成。
    
    元数据:记录数据的数据
    架构:
        主节点Master    老大,管理者
            管理
        从节点Slave    从属,奴隶,被管理者
            干活

Hadoop也是分布式架构

    common

    HDFS:

        主节点:NameNode
            决定着数据存储到那个DataNode上
        从节点:DataNode
            存储数据
            

    MapReduce:

        分而治之思想
        将海量的数据划分为多个部分,每部分数据进行单独的处理,最后将所有结果进行合并
        map task
            单独处理每一部分的数据、
            
        reduce task
            合并map task的输出
        

    YARN:

        分布式集群资源管理框架,管理者集群的资源(Memory,cpu core)
        合理调度分配给各个程序(MapReduce)使用
        主节点:resourceManager
            掌管集群中的资源
        从节点:nodeManager
            管理每台集群资源
        

    总结:Hadoop的安装部署

        都属于java进程,就是启动了JVM进程,运行服务。
        HDFS:存储数据,提供分析的数据
            NameNode/DataNode
        YARN:提供程序运行的资源

            ResourceManager/NodeManager



你可能感兴趣的:(Java大数据)