萨尔法保护 发表于 2019-1-30 10:59:54

Spark基础

  官方文档:spark.apache.org/docs/latest
Spark背景

  MapReduce局限性:
    1>) 繁杂
            map/reduce (mapjoin没有reduce)
            low_level
            constained
            需求 测试 每次改代码再测试
    2>) 技术效率低
        进程几百:MapTask ReduceTask    JVM复用
        IO: chain  网络+磁盘
        排序:都要排序 :面试题:key类型是实现什么接口?
        Memory:
        ...
        不适合迭代处理
        不适合实时流式处理
       
    很多框架各自为战
   

Spark概述和特点
  spark.apache.org
  Speed
        memory
        thread
        sort (可设置)
       
        DAG rdd.map.filter....collect
       
    Ease of use
        high-level operators: join、 group 、 count。。。
       
   
    generality
   
    Runs Everywhere
   
   
小结:
    fast + general engine
        write code: java/Scala/Python/R  interactive shell
        run:memory/ADG/thread model/.....
       

版本介绍和选择依据参考:
  
    如何学习Spark
        mail list
        user@spark.apache.org
        apache-spark-user-list/
        meetup/峰会
        源码样例
        github.com/apache/spark
        source code
       
  
       
       
环境:
centos6
    
     hadoop000(hadoop) hadoop001 hadoop002
     app 存放安装软件的目录
     software 存放软件包的tar
     data 存放测试数据
     lib存放我们自己的jar
     source 存放源码的位置
    
    
    
Spark安装
  官网下载源码解压
    
    
     编译Spark源码的前置要求
     java 8+, Python 2.7+/3.4+   Spark 2.3.0  Scala 2.11.xx
     安装jdk
    
  apache-maven安装
     解压配置.bash_proile
     export MAVEN_HOME/home/hadoop/app/apache-maven-3.3.9
     export PATH=$MAVE_HOME/bin:$PATH
    
     建议:修改maven本地仓库的地址 $MAVE_HOME/conf/setting.xml
     /home/hadoop/mave_repo
    
  安装scala-2.11.9.tgz
     解压配置.bash_proile
     export MAVEN_HOME/home/hadoop/app/scala-2.11.9
     export PATH=$MAVE_HOME/bin:$PATH
    
     source ~.bash_proile
     验证:mvn -v
    
     git安装下 yum install git
    
    
  
编译安装
    export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
    ./build/mvn -DskipTests clean package
    
    
     修改源码编码默认hadoop版本
     pom.xml
    
页: [1]
查看完整版本: Spark基础