Spark之PI本地

本文讲述的是如何在IDEA里编写一个计算PI的Spark程序。

主要内容:

  • 1.安装Scala
  • 2.编写ScalaPI

相关文章:
1.Spark之PI本地
2.Spark之WordCount集群
3.SparkStreaming之读取Kafka数据
4.SparkStreaming之使用redis保存Kafka的Offset
5.SparkStreaming之优雅停止
6.SparkStreaming之写数据到Kafka
7.Spark计算《西虹市首富》短评词云

1.安装Scala

1.安装Scala

下载地址:传送门 (2.11.12)

《Spark之PI本地》

下载完成解压到任意目录,设置环境变量,直接在Path后加入解压目录

打开控制台输入scala

《Spark之PI本地》

说明安装成功

2.IDEA安装Scala插件

打开IDEA,File->settings->Plugins->Browse Repositoies->搜索Scala->Install然后重启IDEA即可

2.编写ScalaPI

2.1.导入依赖

<dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.3.0</version>
            <!--<scope>provided</scope>-->
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.11 -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.3.0</version>
            <!--<scope>provided</scope>-->
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <executions>
                    <execution>
                        <id>scala-compile-first</id>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <includes>
                                <include>**/*.scala</include>
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>scala-test-compile</id>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

2.2.编写代码

object ScalaPi {
  def main(args: Array[String]) {
    //创建一个Config
    val conf =
      new SparkConf()
        .setAppName("ScalaPI")
        .setMaster("local")

    //核心创建SparkContext对象
    val sc = new SparkContext(conf)

    //计算PI
    val count = sc.parallelize(1 to 10000).filter { _ =>
      val x = math.random
      val y = math.random
      x * x + y * y < 1
    }.count()
    println(s"Pi is roughly ${4.0 * count / 10000}")

    //停止SparkContext对象
    sc.stop()
  }
}

运行结果如下:

《Spark之PI本地》

    原文作者:阿坤的博客
    原文地址: https://www.jianshu.com/p/5a749b7fe8b7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞