zoukankan      html  css  js  c++  java
  • Spark基本概念

    Spark基本概念

    1.SparkContent

      a.Driver programs通过SparkContent对象访问Spark

      b.SparkContent代表和一个集群的链接

      c.在shell中SparkContent对象自动创建好了,就是sc

    2.Spark中的Shell

      主要分为两种:python shell和 scala shell

      现在主要介绍scala shell下的一些简单操作:

        1.加载

    3.RDDs

      RDDs是Resilient distrubuted datasets的简写,意为弹性分布式数据集。

      这些RDDs,并行分布在整个集群中。

      RDDs是Spark分发数据和计算的基础抽象类。

      一个RDDs是一个不可改变的分布式集合对象,因此在使用scala编写时,前面加修饰符val

      Spark中,左右的操作都是通过RDDs的c创建、转换、操作完成的  

      一个RDDs内部其实是由许多Partition(分片)组成,但是我们在操作时只需要关注RDDs即可

        分片:分片是Spark并行处理的单元,Spark顺序的、并行的处理分片。不同的分片可以在不同的节点上计算

      RDDs的创建:

        (1)sc.parallelize()

        一般只是测试使用:      

      val rdd=sc.parallelize(Array(1,2,2,4),4)  第一个参数:带并行化处理的集合   第二个参数:分区个数

        下面还有一些我们测试时经常使用的函数 

        rdd.count()        #统计rdds中的行数
        rdd.collect().foreach(print)    #遍历rdds中的每个元素,但是遍历各个分片的的先后顺序是随机的

        (2)加载外部数据集

      val rddtext=sc.textFile("filepath")

    4.scala基础知识

      (1)创建变量时时必须使用val或者var

      (2)scala的匿名函数和类型推断

        匿名函数:

      val lines2=lines.filter(line=>line.comtains("world"))  
      #整个括号中的内容定义了一个匿名函数,传入一个参数line,返回指定结果
      #注意line的类型不需要进行指定,能够推断出来

  • 相关阅读:
    chrome浏览器(block)屏蔽http文件下载,如何解除?
    node项目无法编译
    Google的60款开源项目
    王兴:真正的高手,都在苦练基本功
    Flink SQL 写 hudi
    Python3 bytes函数
    Python中Base64编码与解码
    Python 类的__setitem__(),__getitem()__,__delitem__()方法
    Python queue(队列)
    Ubuntu20.04设置远程桌面连接
  • 原文地址:https://www.cnblogs.com/2017Crown/p/7410828.html
Copyright © 2011-2022 走看看