前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IDEA 编写 第一个spark项目

IDEA 编写 第一个spark项目

作者头像
静谧星空TEL
发布2021-04-27 11:56:45
1.1K0
发布2021-04-27 11:56:45
举报
文章被收录于专栏:云计算与大数据技术

scala 2.11.12 下载:https://www.scala-lang.org/download/

scala 2.11.12(Linux):scala-2.11.12.tgz

scala 2.11.12(windows):scala-2.11.12.zip

IDEA 新建一个 Maven项目

Maven项目创建成功提示

INFO BUILD SUCCESS

pom.xml 参考:

https://cloud.tencent.com/developer/article/1818625

创建Object对象

代码语言:javascript
复制
package com.xtd.spark

import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}

class Example {

  def sparkSQL(path:String): Unit = {

    // D:/Hadoop/Spark/spark-2.4.0-bin-without-hadoop/examples/src/main/resources/employees.json
    val sparkConf = new SparkConf()
    sparkConf.setAppName("SparkExample").setMaster("local[2]")
    val context = new SparkContext(sparkConf)
    val sqlContext = new SQLContext(context)
    val people = sqlContext.read.format("json").load(path)
    people.printSchema()
    people.show()
    context.stop()
  }

}

object Example{
  def main(args: Array[String]): Unit = {
    val path = args(0)
    val example = new Example
    example.sparkSQL(path)
    println("path: "+path)
  }
}

点击右上角的对象名称,编辑项目配置,添加传递参数(本地文件添加前缀file:///)

file:///D:/Hadoop/Spark/spark-2.4.0-bin-without-hadoop/examples/src/main/resources/employees.json

 employees.json 文件 ,这个文件在spark安装文件根目录下的examples下可找到

代码语言:javascript
复制
{"name":"Michael"}
{"name":"Andy", "age":30}
{"name":"Justin", "age":19}

运行会出现以下成功提示

如何打包到集群?

右击项目,选择 Open in Terminal,进入CMD控制台

输入Maven编译命令

代码语言:javascript
复制
mvn clean package -DskipTest

接下来把 jar 包上传至 Linux 服务器上,通过 spark-submit 提交 jar 到集群 

客户端模式

代码语言:javascript
复制
  spark-submit \
  --class com.xtd.spark.Example \
  --deploy-mode client \
  /home/spark/jar/spark2-1.0.jar \
  file:///home/spark/examples/employees.json

 spark on yarn 

代码语言:javascript
复制
  spark-submit \
  --class com.xtd.spark.ExampleHDFS \
  --master yarn \
  --deploy-mode cluster \
  --driver-memory 2g \
  --executor-cores 1 \
  --executor-memory 1g \
  /home/spark/jar/spark-1.0.jar \
  /user/spark/examples/resources/employees.json

注意事项

/home/spark/jar/spark-1.0.jar 是jar包在Linux上的路径,jar包上传在哪就写哪 file:///home/spark/examples/employees.json 这行是传递的参数,file://表示employees.json文件在Linux上 更多参数设置可以输入命令 spark-submit --help

运行结果

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档