Spark编程实践

这篇博客详细介绍了如何使用Scala和Java进行Spark编程。首先讲解了Scala环境下sbt的安装与配置,然后展示了如何编写和打包Scala程序。接着转向Java实现,介绍了maven的安装,以及Java项目的构建和打包过程。最后,文章提到了如何在集群上运行这些程序,无论是Java还是Scala,只需更改IP地址即可提交到Spark集群执行。
摘要由CSDN通过智能技术生成

使用Scala和Java编写Spark程序。

Spark编程

Scala实现

sbt

首先安装sbt

unzip  sbt-1.2.6.zip  -d /usr/local/ 

赋予权限

sudo chown –R hadoop /usr/local/

添加进环境变量PATH中vim ~/.bashrc

执行sbt version看是否安装成功,此时会下载一些依赖,确保联网。

54055173200

编程

在/home/hadoop目录下创建sparkapp文件夹,作为程序根目录

mkdir ./sparkapp
mkdir –p ./sparkapp/src/main/scala

接着在sparkapp/src/main/scala下创建SimpleApp.scala:

/* SimpleApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

object SimpleApp {
    def main (args: Array[String])
        val logFile = "file:///usr/local/spark/README.md"
        val conf = new SparkConf().setAppName("Simple Application")
        val sc = new SparkContext(conf)
        val logData = sc.textFile(logFile, 2).cache()
        val numAs = logData.filter(line => line.contains("a")).count()
        val numBs = logData.filter(line => line.contains("b")).count()
        println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
}

使用sbt打包scala程序,在sparkapp目录下新建simple.sbt:

name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.2"

打包成JAR包:

sbt package

54053264142

运行

将生成的jar包通过spark-submit提交到Spark中运行:

/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar 2>&1 | grep "Lines with a:"

54053350509

Java实现

maven

安装maven,解压安装到/usr/local/maven目录下,并给予hadoop用户该目录的权限:

sudo unzip apache-maven-3.3.9-bin.zip -d /usr/local
mv apache-maven-3.3.9 maven

usr/local/maven/bin加入PATH:./bashrcsource

mkdir -p ./sparkapp2/src/main/java

编程

/home/hadoop目录下创建sparkapp2文件夹,作为应用程序的根目录,并创建子目录mkdir –p ./sparkapp2/src/main/java

vim ./sparkapp2/src/main/java/SimpleApp.java

在该子目录下新建SimpleApp.java文件

/*** SimpleApp.java ***/
import org.apache.spark.api.java.*;
import org.apache.spark.api.java.function.Function; 
public class SimpleApp {
   
    public static void main(String[] args) {
   
        String logFile = "file:///usr/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值