zoukankan      html  css  js  c++  java
  • Spark是一种分布式的计算方案

    Spark的安装基于HDFS,所以我们要设置hadoop的配置文件,所以spark的存储不是其主要的功能点,而spark作为分布式生态中的角色是一种计算模式(其他 的计算

    模式,比如MR,Storm,spark,tez)。

    vim spark-env.sh
    export SCALA_HOME=/path/to/scala-2.10.4
    export JAVA_HOME=/usr/java/jdk
    export HADOOP_HOME=/usr/local/hadoop-2.7.0
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

    export SPARK_WORKER_MEMORY=7g
    export SPARK_MASTER_IP=172.16.0.140
    export MASTER=spark://172.16.0.140:7077

     一端是构建driver,另一端就是excutor运行,而mater主要就是完成driver的调度。 

    运行模式:client cluster 模式

    client模式:  sparkContext、Driver在客户端构建

    clust模式:sparkContext、Driver在不在客户端构建。

    DAGScheduler与TaskScheduler全部在Driver端构建完成、最后讲Task调度到不同的Work上运行

    ===========================================================================

    1.RDD类似于数据库中的视图,缓存RDD类似于物化视图,数据库像DSM系统一样,允许典型地读写所有记录,通过记录操作和数据的日志来实现容错,还需要花费额外的开销来维护一致性。RDD编程模型通过增加更多限制来避免这些开销。

    2.RDD借鉴了DryadLINQ、Pig和FlumeJava的“并行收集”编程模型,通过允许用户显式地将未序列化的对象保存在内存中,以此来控制分区和基于key随机查找,从而有效地支持基于工作集的应用。RDD保留了那些数据流系统更高级别的编程特性,这对那些开发人员来说也比较熟悉,而且,RDD也能够支持更多类型的应用。

    3.DSM通过检查点[19]实现容错,而Spark使用Lineage重建RDD分区,这些分区可以在不同的节点上重新并行处理,而不需要将整个程序回退到检查点再重新运行。RDD能够像MapReduce一样将计算推向数据[12],并通过推测执行来解决某些任务计算进度落后的问题,推测执行在一般的DSM系统上是很难实现的。

  • 相关阅读:
    Python随心记---数据类型
    Pycharm报错解决:error:please select a valid Python interpreter 及一些基本设置
    Python随心记--用户登录锁定
    Python随心记-continue 和 break的区别
    Python随心记
    PHP随笔-判断访问者的设备
    JFinal架构简介
    com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect。ecplise连接sqlserver失败,解决方案。亲测有效!!!
    什么是maven,jar包的查找过程?
    SVN:项目管理工具
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/4212387.html
Copyright © 2011-2022 走看看