spark怎么用python java_Scala,Java,Python 3种语言编写Spark WordCount示例

首先,我先定义一个文件,hello.txt,里面的内容如下:

hello spark

hello hadoop

hello flink

hello storm

Scala方式

scala版本是2.11.8。

配置maven文件,三个依赖:

org.apache.hadoop

hadoop-client

2.6.0-cdh5.7.0

org.scala-lang

scala-library

2.11.8

org.apache.spark

spark-core_2.11

2.2.0

packagecom.darrenchan.sparkimportorg.apache.spark.{SparkConf, SparkContext}

object SparkCoreApp2 {

def main(args: Array[String]): Unit={

val sparkConf= new SparkConf().setMaster("local[2]").setAppName("WordCountApp")

val sc= newSparkContext(sparkConf)//业务逻辑

val counts = sc.textFile("D:\\hello.txt").

flatMap(_.split(" ")).

map((_,1)).

reduceByKey(_+_)

println(counts.collect().mkString("\n"))

sc.stop()

}

}

运行结果:

4f5fd4789942a1e427c232da185a99c7.png

Java方式

Java8,用lamda表达式。

packagecom.darrenchan.spark.javaapi;importorg.apache.spark.SparkConf;importorg.apache.spark.SparkContext;importorg.apache.spark.api.java.JavaPairRDD;importorg.apache.spark.api.java.JavaRDD;importorg.apache.spark.api.java.JavaSparkContext;importorg.apache.spark.sql.SparkSession;importscala.Tuple2;importjava.util.Arrays;public classWordCountApp2 {public static voidmain(String[] args) {

SparkConf sparkConf= new SparkConf().setMaster("local[2]").setAppName("WordCountApp");

JavaSparkContext sc= newJavaSparkContext(sparkConf);//业务逻辑

JavaPairRDD counts =sc.textFile("D:\\hello.txt").

flatMap(line-> Arrays.asList(line.split(" ")).iterator()).

mapToPair(word-> new Tuple2<>(word, 1)).

reduceByKey((a, b)-> a +b);

System.out.println(counts.collect());

sc.stop();

}

}

运行结果:

f19d91eb29c044c514d93d1ff6a20fd2.png

Python方式

Python 3.6.5。

from pyspark importSparkConf, SparkContextdefmain():#创建SparkConf,设置Spark相关的参数信息

conf = SparkConf().setMaster("local[2]").setAppName("spark_app")#创建SparkContext

sc = SparkContext(conf=conf)#业务逻辑开发

counts = sc.textFile("D:\\hello.txt").\

flatMap(lambda line: line.split(" ")).\

map(lambda word: (word, 1)).\

reduceByKey(lambda a, b: a +b)print(counts.collect())

sc.stop()if __name__ == '__main__':

main()

运行结果:

06ca74f8ac41faf7746fc84278187c08.png

使用Python在Windows下运行Spark有很多坑,详见如下链接:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值