zoukankan      html  css  js  c++  java
  • spark学习记录-1

    mapreduce的限制

    适合“一趟”计算操作

    很难组合和嵌套操作符号

    无法表示迭代操作

    ========

    由于复制、序列化和磁盘IO导致mapreduce慢

    复杂的应用、流计算、内部查询都因为maprecude缺少有效的数据共享而变慢

    ======

    迭代操作每一次复制都需要磁盘IO

    内部查询和在线处理都需要磁盘IO

    ========spark的目标

    在内存中保存更多的数据来提升性能

    扩展maprecude模型来更好支持两个常见的分析应用:1,迭代算法(机器学习、图)2,内部数据挖掘

    增强可编码性:1,多api库,2更少的代码

    ======

    spark组成

    spark sql,spark straming(real-time),graphx,mllib(meachine learning)

    ======

    可以使用一下几种模式来运行:

    在它的standalone cluster mode下

    在hadoop yarn

    在apache mesos

    在kubernetes

    活着在云上面

    ==========

    数据来源:

    1,本地文件file:///opt/httpd/logs/access_log

    2,amazon S3

    3,hadooop distributed filesystem

    4,hbase,cassandra,etc

    ===========

    spark 集群cluster

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

    spark workflow

    首先产生一个SparkContext对象(1,告诉spark怎么并且在哪里去访问集群;2,连接不同类型的集群管理者,egYARN,Mesos,本身的)

    然后使用集群管理分配资源

    最后使用Spark executer来运行计算过程,读取数据块

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

    workers节点和执行者

    worker节点是能运行executors的机器(1,每个worker一个jvm或者一个process,2每个worker可以产生多个executor)

    Executor可以运行任务(1,在子jvm中运行,2在一个线程池中执行一个或者多个任务)

     =========

    Solution: Resilient Distributed Datasets

    弹性分布式数据集

    =========

    RDD 操作

    transformation:返回一个新的RDD,function包括:map,filter,flatMap,groupByKey,reduceByKey,aggragateByKey,filter,join

    action:评估并且返回一个新的value,当一个RDD对象调用action方法时,处理查询的所有数据都会被同时计算,结果值返回;方法包括

      reduce,collect,count,first,take,countByKey,foreach,saveAsTextFile

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

    怎么使用RDD

    1,从data source中产生一个RDD(1,利用现存的集合lists,arrays;2,RDD的变换;3,从hdfs或者其他数据系统)

    2,使用RDD变换

    3,使用RDD操作

    =======

    产生一个RDD

    从hdfs,textfiles,amazons S3,hbase,序列号文件,其他的hadoop输入格式

    (//从文件中产生一个RDD

    JavaRDD<String> distFile = sc.textFile("data.txt",4)//rdd分为4个部分

    )

     

    (//从集合创建RDD

    list<Integer> data = Arrays.aslist(1,2,3,4,5);

    JavaRDD<Integer> distData = sc.parallelize(data);

    )

     

    ========

     

  • 相关阅读:
    MVC ActionResult JsonResult
    xml文件
    使用socket实现聊天功能
    使用多线程完成Socket
    Socket编程
    U1总结
    多线程
    IO
    单例模式
    日期
  • 原文地址:https://www.cnblogs.com/li-daphne/p/11871726.html
Copyright © 2011-2022 走看看