《循序渐进学Spark》一1.6 使用Spark Shell开发运行Spark程序

    xiaoxiao2024-03-28  8

    本节书摘来自华章出版社《循序渐进学Spark》一书中的第1章,第1.6节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    1.6 使用Spark Shell开发运行Spark程序

    Spark Shell是一种学习API的简单途径,也是分析数据集交互的有力工具。

    虽然本章还没涉及Spark的具体技术细节,但从总体上说,Spark弹性数据集RDD有两种创建方式:

    从文件系统输入(如HDFS)。

    从已存在的RDD转换得到新的RDD。

    现在我们从RDD入手,利用Spark Shell简单演示如何书写并运行Spark程序。下面以word count这个经典例子来说明。

    1)启动spark shell: cd 进SPARK_HOME/bin, 执行命令。

    ./spark-shell

    2)进入scala命令行,执行如下命令:

    scala> val file = sc.textFile("hdfs://localhost:50040/hellosparkshell")

    scala> val count = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_)

    scala> count.collect()

    首先从本机上读取文件hellosparkshell,然后解析该文件,最后统计单词及其数量并输出如下:

    15/09/29 16:11:46 INFO spark.SparkContext: Job finished: collect at <console>:17, took 1.624248037 s

    res5: Array[(String, Int)] = Array((hello,12), (spark,12), (shell,12), (this,1), (is,1), (chapter,1), (three,1)

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)