• 周强:深化司法体制改革,促进审判体系和审判能力现代化 2019-09-15
  • 两队防守均是薄弱环节 进攻快VS球风猛谁占优? 2019-09-15
  • 男子新婚后妻子失踪 报案发现妻子结过7次婚有3娃 2019-09-13
  • 以产业金融促广州实体经济发展 2019-09-04
  • 《宋代古琴音乐研究》简介 2019-09-03
  • 海淀:社区中的快乐暑假 2019-09-03
  • 对外投资连续7个月增长(市场观察) 2019-09-02
  • 李保芳一行拜访中国驻莫桑比克大使馆 苏健大使盛赞茅台援建举动 称其具有开创性意义 2019-08-23
  • 太美了!合肥初雪航拍 看完想在雪地打滚 2019-08-23
  • 关注改革最后一公里:湖北纪检等部门用新技术整合分散信息 2019-08-21
  • 中国足球与中国股市谁最牛?请投下你神圣一票 2019-08-21
  • 新时代是奋斗者的时代 2019-08-20
  • 特级飞行员侯兵林只有飞过临界点才能摸准战机脾性 2019-08-18
  • 梁家河,一个中国村庄的幸福与奋斗 2019-08-18
  • 卡布的专栏作者中国国家地理网 2019-08-17
  • 欢迎来到魔据教育大数据学院,专注大数据工程师培养!
    当前位置:两肖两码中特资料网 > 学习资料 > 讲师博文 > Spark javardd入门

    两肖两码中特资料下载: Spark javardd入门

    时间:2017-08-17 17:55:48作者:[!--zuozhe--]

    两肖两码中特资料网 www.mqptd.tw 9-1.png

     

    Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。SPARK不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
     
    Spark 是在 Scala 语言中实现的,但提供scala、java、python、hivesql等语音开发接口。并且Spark 提供了大量的库,包括SQL、DataFrames、MLlib、GraphX、Spark Streaming。
     
    Spark建立在统一抽象的RDD(Resilient Distributed Datasets)之上。RDD是弹性分布式数据集,即分布式的元素集合。在spark中,对所有数据的操作都是创建RDD、转化已有的RDD以及调用RDD操作进行求值。在这一切的背后,Spark会自动将RDD中的数据分发到集群中,并将操作并行化。用java实现的rdd称为javardd,本文主要为大家介绍用java实现的spark程序javardd。
     
    使用javardd的好处,对应经常使用java的人员学习成本较低上手spark较快。劣势,没有scala编写简洁。
     
    以下是javardd常用的几个方法:
    1、map(func):对每行数据使用func,然后返回一个新的RDD,数据处理-每行。
    2、filter(func):对每行数据使用func,然后返回func后为true的数据,用于过滤。
    3、flatMap(func):和map差不多,但是flatMap生成的是多个结果,用于行转列。
    4、groupByKey(numTasks):返回(K,Seq[V]),也就是Hadoop中reduce函数接受的
    key-valuelist
    5、reduceByKey(func,[numTasks]):就是用一个给定的reduce func再作用在groupByKey产
    生的(K,Seq[V]),比如求和,求平均数
    6、sortByKey([ascending],[numTasks]):按照key来进行排序,是升序还是降序,ascending
    是boolean类型
     
    接下来为大家以代码案例的形式介绍每个方法的用法,spark分为转换因子和执行因子,转换因子为对javardd进行数据格式转换。执行因子为确定数据执行方式。Spark为懒惰式,如果没有执行因子程序是不执行的。
     
    代码案例-转换因子
     

    9-2.png

    首先加载数据,加载hdfs数据
    JavaRDD<String> baseLines = ctx.textFile(“hdfs:///dx/basic”);
    1) Map,用例为数据加上日期标识
    JavaRDD<String> filedata = baseLines.map(new Function<String, String>() {
    @Override
    public String call(String s) {
    s = s + “|20170101”;
    return s;
    }
    });
    2) Filter,用例提取包含jpg的图片地址
    JavaRDD<String> fileclear = baseLines.filter(new Function<String, Boolean>() {
    @Override
    public Boolean call(String s) {
    if (s.indexOf(“.jpg”)>=0) {
    return true;
    }
    return false;
    }
    });
    3) flatMap,行转列
    JavaRDD<String> words = baseLines.flatMap(new FlatMapFunction<String, String>() {
    @Override
    public Iterator<String> call(String s) {
    return Arrays.asList(SPACE.split(s)).iterator();
    }
    });
    元数据格式
    1 2 3 4 5
    转换后格式
    1
    2
    3
    4
    5
    4) groupByKey
    将数据进行按key分组
    JavaPairRDD<String, String> userpropv = baseLines
    .mapToPair(new PairFunction<String, String, String>() {
    @Override
    public Tuple2<String, String> call(String s) throws Exception {
    String[] str = s.split(“,”);
    //产品id+用户号码作为key
    return new Tuple2<>(str[2], "1");
    }
    });
     
    JavaPairRDD<String, Iterable<String>> dxgroupedPairs = userpropv.groupByKey();

    9-3.png

    5) reduceByKey
    作用于groupByKey产生的value上比如求和求平均值。
    JavaPairRDD<String, Integer> counts =
    userpropv.reduceByKey(new Function2<Integer, Integer, Integer>() {
    @Override
    public Integer call(Integer i1, Integer i2) {
        return i1 + i2;
      }
    });
    6) sortByKey,第二个参数true升序、false降序
    JavaRDD< String > resultRDD = baseLines.sortBy(
    new Function<String, Object>() {
    @Override
    public Object call(String v1) throws Exception {
    return v1;
    }
    }, false, 1);
     
    代码案例-执行因子
    1、saveAsTextFile 数据保存
    resultRDD..saveAsTextFile(“/outpath”)
    2、collect()小结果集数组转换
       List<String> list = resultRDD. collect();
     
    以上是spark javardd常用因子,在一般程序中较为常用的。
     
    参考地址://spark.apache.org/docs/latest/api/java/index.html

    更多大数据相关资讯敬请关注魔据教育,为您分享最及时的大数据资讯。
    学习大数据敬请关注魔据教育微信二维码。
    魔据教育微信二维码

    【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至[email protected],我们将及时沟通与处理。本站内容除非来源注明魔据教育,否则均为网友转载,涉及言论、版权与本站无关。

    全国咨询热线:18501996998,值班手机:18501996998(7*24小时)

    在线咨询:张老师QQ 320169340

    企业合作服务专线:010-82340234-821, 院校合作洽谈专线:010-82340234

    Copyright 2001-2019 魔据教育 - 北京华育兴业科技有限公司 版权所有,京ICP备17018991号-2

    免费在线咨询两肖两码中特资料网

    免费索取技术资料立即索取

    大数据技术交流QQ:226594285

    电话咨询010-82340234

  • 周强:深化司法体制改革,促进审判体系和审判能力现代化 2019-09-15
  • 两队防守均是薄弱环节 进攻快VS球风猛谁占优? 2019-09-15
  • 男子新婚后妻子失踪 报案发现妻子结过7次婚有3娃 2019-09-13
  • 以产业金融促广州实体经济发展 2019-09-04
  • 《宋代古琴音乐研究》简介 2019-09-03
  • 海淀:社区中的快乐暑假 2019-09-03
  • 对外投资连续7个月增长(市场观察) 2019-09-02
  • 李保芳一行拜访中国驻莫桑比克大使馆 苏健大使盛赞茅台援建举动 称其具有开创性意义 2019-08-23
  • 太美了!合肥初雪航拍 看完想在雪地打滚 2019-08-23
  • 关注改革最后一公里:湖北纪检等部门用新技术整合分散信息 2019-08-21
  • 中国足球与中国股市谁最牛?请投下你神圣一票 2019-08-21
  • 新时代是奋斗者的时代 2019-08-20
  • 特级飞行员侯兵林只有飞过临界点才能摸准战机脾性 2019-08-18
  • 梁家河,一个中国村庄的幸福与奋斗 2019-08-18
  • 卡布的专栏作者中国国家地理网 2019-08-17
  • 登录银河至尊娱乐网址 天津11选五玩法中奖规则 七乐彩奖金表 攒劲甘肃麻将 四川时时连线走势图 哪个平台能买北京11选5 浙江20选五中奖规则 天津时时纪录 今天最新3d开机号查询 白小姐一码特期期准2018年