前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spark基础练习(未完)

spark基础练习(未完)

作者头像
用户3003813
发布2018-09-06 13:14:04
7200
发布2018-09-06 13:14:04
举报
文章被收录于专栏:个人分享个人分享

1、filter val rdd = sc.parallelize(List(1,2,3,4,5)) val mappedRDD = rdd.map(2*_) mappedRDD.collect val filteredRDD = mappedRdd.filter(_>4) filteredRDD.collect

(上述完整写法) val filteredRDDAgain = sc.parallelize(List(1,2,3,4,5)).map(2 * _).filter(_ > 4).collect

2、wordcount val rdd = sc.textfile("/data/README.md") rdd.count rdd.cache val wordcount = rdd.flatMap(_.split('、')).map(_,1).reduceByKey(_+_) wordcount.collect wordcount.saveAsTextFile("/data/result")

3、sort val== rdd.flatMap(_split(' ')).map((_,1)).reduceByKey(_+_).map(x => (x._2,x._1)).sortByKey(false).map(x => (x._2,x._1)).saveasTextFile("/data/resultsorted")

4、union val rdd1 = sc.parallelize(List(('a',1),('b',1))) val rdd2 = sc.parallelize(List(('c',1),('d',1))) val result = rdd1 union rdd2 result.collect (join 同理)

5、连接mysql 创建DF

import org.apache.spark.{SparkContext, SparkConf} import org.apache.spark.sql.{SaveMode, DataFrame} import org.apache.spark.sql.hive.HiveContext

val mySQLUrl = "jdbc:mysql://localhost:3306/yangsy?user=root&password=yangsiyi"

val people_DDL = s""" CREATE TEMPORARY TABLE PEOPLE USING org.apache.spark.sql.jdbc OPTIONS ( url '${mySQLUrl}', dbtable 'person' )""".stripMargin

sqlContext.sql(people_DDL) val person = sql("SELECT * FROM PEOPLE").cache()

val name = "name" val targets = person.filter("name ="+name).collect()

for(line <- targets){ val target_name = line(0) println(target_name) val target_age = line(1) println(target_age) }

6、手工设置Spark SQL task个数

  SQLContext.setConf("spark.sql.shuffle.partitions","10")

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-10-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档