zoukankan      html  css  js  c++  java
  • Spark编程

    方法

    persist(): 把数据以序列化的形式缓存在JVM的堆空间中;

    cache(): 与使用默认存储级别调用persist()是一样的;

    collect(): 只有当你的整个数据集能在单台机器的内存中放得下时,才能使用collect(),因此,collect() 不能用在大规模数据集上;把RDD 筛选到一个很小的规模,并且你想在本地处理这些数据时;

    转化操作

    map()

    filter()

    flatMap()

    distinct()

    union()

    intersection() 需要数据混洗

    subtract() 需要数据混洗

    cartesian() 笛卡尔积

    行动操作

    reduce()  reduce()与fold()方法是对同种元素类型数据的RDD进行操作,即必须同构。其返回值返回一个同样类型的新元素;

    fold()  fold()与reduce()类似,接收与reduce接收的函数签名相同的函数,另外再加上一个初始值作为第一次调用的结果;

    aggregate()  可以对两个不同类型的元素进行聚合,即支持异构;

    take()  返回RDD 中的n 个元素,并且尝试只访问尽量少的分区,因此该操作会得到一个不均衡的集合;

    top()  使用数据的默认顺序,但我们也可以提供自己的比较函数,来提取前几个元素;

    takeSample(withReplacement, num,seed)  可以让我们从数据中获取一个采样,并指定是否替换。

    键值对操作

    reduceByKey():合并相同的键;

    foldByKey():

    combineByKey():基于键进行聚合;

    mapValues():对每个值应用一个函数;

    flatMapValues():对每个值应用一个返回迭代器的函数;

    keys()  values()

    subtractByKey():删掉RDD中键与other RDD中的键相同的元素;

    sortByKey():返回一个依据键排序的rdd;

    partitionBy():

    repartition():把数据通过网络进行混洗,并创建出新的分区集合;

    coalesce():优化版的repartiton()

    groupByKey():依据键是否相同进行分组;

    groupBy():可以用于未成对的数据上,也可以根据除键相同之外的条件进行分组;

    cogroup():将两个RDD 中拥有相同键的数据分组到一起;可应用于三个及以上的RDD;值的类型不必相同;

    join()  rightOuterJoin()  leftOuterJoin()

    collectAsMap()

    数据读取与保存

    三类数据源

    文件格式与文件系统

    Spark SQL中的结构化数据

    数据库与键值存储:Cassandra,HBase,Elasticsearch,JDBC源

    Spark SQL

  • 相关阅读:
    面试题21 包含min函数的栈
    面试题20 顺时针打印矩阵
    基于熵的方法计算query与docs相似度
    使用信息检索和深度学习方法的智能对话
    常用的激活函数
    spark实现smote近邻采样
    wide&deep用于ltr排序
    deepfm用于ltr排序
    lightgbm用于排序
    静态工厂方法+服务提供者框架模板
  • 原文地址:https://www.cnblogs.com/cheungchein/p/8503302.html
Copyright © 2011-2022 走看看