zoukankan      html  css  js  c++  java
  • Spark编程模型(中)

    创建RDD

    • 方式一:从集合创建RDD
    1. makeRDD
    2. Parallelize

    注意:makeRDD可以指定每个分区perferredLocations参数parallelize则没有。

    • 方式二:读取外部存储创建RDD

      Spark与Hadoop完全兼容,所以对Hadoop所支持的文件类型或者数据库类型,Spark同样支持。

    1.  多文件格式支持:

    2.  多文件系统支持:

        1)本地文件系统

        2)S3

        3)HDFS

    3.  数据库

        1)JdbcRDD

        2)spark-cassandra-connector(datastax/spark-cassandra-connector)

        3)org.apache.hadoop.hbase.mapreduce.TableInputFormat(SparkContext.newAPIHadoopRDD)

        4)Elasticsearch-Hadoop

    控制操作

    1.  persist操作,可以将RDD持久化到不同层次的存储介质,以便后续操作重复使用。

        1)cache:RDD[T]

        2)persist:RDD[T]

        3)Persist(level:StorageLevel):RDD[T]

    2. checkpoint

      将RDD持久化到HDFS中,与persist操作不同的是checkpoint会切断此RDD之前的依赖关系,而persist依然保留RDD的依赖关系。

      注意:控制操作的细节会在后续章节专门讲解

     

     转换操作

    • 基本转换操作1

      (1)RDD的转化操作是返回新的RDD的操作;

      (2)我们不应该把RDD看作存放着特定数据的数据集,而最好把每个RDD当作我们通过转化操作构建出来的、记录如何计算数据的指令列表。

    • 基本转换操作2

    action操作

    以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!

  • 相关阅读:
    python--DenyHttp项目(1)--调用cmd控制台命令os.system()
    python--DenyHttp项目(1)--GUI:tkinter☞ module 'tkinter' has no attribute 'messagebox'
    python--DenyHttp项目(1)--socket编程:服务器端进阶版socketServer
    python--DenyHttp项目(1)--socket编程:客户端与服务器端
    平台后台编辑功能实现
    java中的map
    java 重写(override)与 重载(overload)
    java继承 extends
    java泛型
    java中Map和List的使用
  • 原文地址:https://www.cnblogs.com/zimo-jing/p/9668854.html
Copyright © 2011-2022 走看看