美文网首页
SPARK基础

SPARK基础

作者: zzzzzzzeng | 来源:发表于2021-09-13 06:27 被阅读0次

    1. 概述

    Spark是一个用来实现快速而通用的集群计算的平台。

    Spark的核心是一个 对 很多计算任务组成的,运行在多个工作机器或是一个计算集群上的应用进行调度,分发以及监控的计算引擎。

    Spark SQL是

    相较与MapReduce的优势:

    1. 基于内存;
    2. 模糊了Map和Reduce的界限,减少了磁盘读写;

    spark独立应用:python api

    SparkConf配置应用,SparkContext对象用于访问spark。一个对下个代表一个连接,shell启动时,已有一个自带的SparkContext对象,叫做sc。

    独立应用中如下配置:SparkConf传递集群URL和应用名两个参数即可。如需停止,sc.stop()或sys.rxit()即可。

    from pyspark import SparkConf, SparkContext
    conf = SparkConf().setMaster("local").setAppName("My App")
    sc = SparkContext(conf=conf)
    
    

    3. RDD编程

    3.1 RDD基础

    弹性分布式数据集(Resilient Distributed Dataset, RDD)是分布式的元素集合。

    3.1 创建

    RDD的两种创建方式:读取外部数据集,或在驱动程序中对一个集合进行并行化。

    3.3 RDD操作

    RDD操作分为转化操作和行动操作。

    惰性求值:转化操作在行动操作前是不会执行的。这样用户可以编写一系列简单操作,再执行。

    3.4 向Spark传递函数

    # lambda
    word = rdd.filter(lambda line: "python" in line)
    # 传递顶层函数或自定义局部函数
    def containsPython(line):
        ruturn "python" in line
    word.filter(containsPython)
    
    

    3.5 常见的转化操作和行动操作

    常见的转化和行动操作

    3.6 持久化

    避免对一个RDD多次计算,可以对其进行持久化,RDD的节点会保存他们所求出的分区数据。

    python中总是会序列化

    persist选项:

    MEMORY_ONLY, DISK_ONLY, MEMORY_AND_DISK

    cache是默认储存级别的persist。

    unpersist将持久化的RDD从缓存中移除。

    4. 键值对操作

    4.1 定义

    pair RDD:键值对类型的RDD,可以并行操作各个键或跨节点重新进行数据分组的操作接口。

    4.2 创建

    python 直接map元素返回成二元tuple即可。

    4.3 Pair RDD的转化操作

    Pair RDD的转化操作

    相关文章

      网友评论

          本文标题:SPARK基础

          本文链接:https://www.haomeiwen.com/subject/ggpxgltx.html