关于IDEA创建spark maven项目并连接远程spark集群问题

环境:

scala:2.12.10

spark:3.0.3

1、创建scala maven项目,如下图所示:

2、

不同版本scala编译参数可能略有不同,笔者使用的scala版本是2.12.10,scala-archetype-simple插件生成的pom文件

<plugin>
  <groupId>org.scala-tools</groupId>
  <artifactId>maven-scala-plugin</artifactId>
  <version>2.15.0</version>
  <executions>
    <execution>
      <goals>
        <goal>compile</goal>
        <goal>testCompile</goal>
      </goals>
      <configuration>
        <args>
          <arg>-make:transitive</arg>
          <arg>-dependencyfile</arg>
          <arg>${project.build.directory}/.scala_dependencies</arg>
        </args>
      </configuration>
    </execution>
  </executions>
</plugin>

要去除-make:transitive这个参数,否则会报错。

3、创建SparkPi Object类

object SparkPi {

  def main(args: Array[String]): Unit = {
    val spark = SparkSession
      .builder
      .appName("Spark Pi")
      .master("spark://172.21.212.114:7077")
      .config("spark.jars","E:\\work\\polaris\\polaris-spark\\spark-scala\\target\\spark-scala-1.0.0.jar")
      .config("spark.executor.memory","2g")
      .config("spark.cores.max","2")
      .config("spark.driver.host", "172.21.58.28")
      .config("spark.driver.port", "9089")
      .getOrCreate()
    //spark = new SparkContext(conf).
    val slices = if (args.length > 0) args(0).toInt else 2
    val n = math.min(100000L * slices, Int.MaxValue).toInt // avoid overflow
    val count = spark.sparkContext.parallelize(1 until n, slices).map { i =>
      val x = random * 2 - 1
      val y = random * 2 - 1
      if (x*x + y*y <= 1) 1 else 0
    }.reduce(_ + _)
    println(s"Pi is roughly ${4.0 * count / (n - 1)}")
    spark.stop()
  }
}

4、执行打包命令:

5、点击Idea Run执行即可:

6、结果如下所示:

PS:

1、创建SparkSession时需要指定Idea所在机器ip地址,因为默认会把Spark Driver所在机器域名发送过去,导致无法解析(在spark 服务器上配置IDEA所在机器域名也可以,但是这样太不灵活)

2、spark-3.0.3默认使用的scala版本是2.12.10,所以要注意IDEA使用scala版本,否则会出现SerailizableId不一致的兼容问题

到此这篇关于IDEA创建spark maven项目并连接远程spark集群的文章就介绍到这了,更多相关IDEA spark集群内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • idea远程调试spark的步骤讲解

    spark 远端调试 本地调试远端集群运行的spark项目,当spark项目在集群上报错,但是本地又查不出问题时,最好的方式就是调试一步一步跟踪代码.但是在集群上的代码又不能像本地一样的调试.那么就试试这个调试方法吧. 远程调试spark其实就四步: * 第一步jar包拷贝到集群master节点. * 第二步在 idea 中配置远程机器的IP 和调试端口号. * 第三步:启动远端的spark项目. * 第四步 启动idea 进行调试. 首先 首先了解jvm一些参数属性 -Xdebug -Xrun

  • SparkSQL使用IDEA快速入门DataFrame与DataSet的完美教程

    目录 1.使用IDEA开发Spark SQL 1.1创建DataFrame/DataSet 1.1.1指定列名添加Schema 1.1.2StructType指定Schema 1.1.3反射推断Schema 1.使用IDEA开发Spark SQL 1.1创建DataFrame/DataSet 1.指定列名添加Schema 2.通过StrucType指定Schema 3.编写样例类,利用反射机制推断Schema 1.1.1指定列名添加Schema //导包 import org.apache.sp

  • IDEA 开发配置SparkSQL及简单使用案例代码

    1.添加依赖 在idea项目的pom.xml中添加依赖. <!--spark sql依赖,注意版本号--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.12</artifactId> <version>3.0.0</version> </dependency> 2.案例代码 package com.

  • 如何使用IDEA开发Spark SQL程序(一文搞懂)

    目录 前言 Spark SQL是什么 1.使用IDEA开发Spark SQL 1.1.指定列名添加Schema 1.2.通过StructType指定Schema 1.3.反射推断Schema–掌握 1.4.花式查询 1.5. 相互转化 1.6.Spark SQL完成WordCount(案例) 1.6.1.SQL风格 1.6.2.DQL风格 前言 大家好,我是DJ丶小哪吒,我又来跟你们分享知识了.对软件开发有着浓厚的兴趣.喜欢与人分享知识.做博客的目的就是为了能与 他 人知识共享.由于水平有限.博

  • SparkSQL读取hive数据本地idea运行的方法详解

    环境准备: hadoop版本:2.6.5 spark版本:2.3.0 hive版本:1.2.2 master主机:192.168.100.201 slave1主机:192.168.100.201 pom.xml依赖如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

  • 详解IntelliJ IDEA创建spark项目的两种方式

    Intellij是进行scala开发的一个非常好用的工具,可以非常轻松查看scala源码,当然用它来开发Java也是很爽的,之前一直在用scala ide和eclipse,现在换成intellij简直好用到飞起,但是有些人不知道怎么用intellij去创建一个spark项目,这里介绍两种 1.选择File->new Project->Java->Scala,这里scala版本是2.11.8 2 .之后一路点击next,直到finish,创建完的项目见下图,这时候已经可以创建scala文件

  • 在IntelliJ IDEA中创建和运行java/scala/spark程序的方法

    本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介绍 IntelliJ IDEA 本文使用版本为: ideaIC-2020.1 IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境.IntelliJ在业界被公认为最好的java开发工具,它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等,免费版只支持Jav

  • 关于IDEA创建spark maven项目并连接远程spark集群问题

    环境: scala:2.12.10 spark:3.0.3 1.创建scala maven项目,如下图所示: 2. 不同版本scala编译参数可能略有不同,笔者使用的scala版本是2.12.10,scala-archetype-simple插件生成的pom文件 <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <v

  • 在IDEA的maven项目中连接并使用MySQL8.0的方法教程

    首先看一下我的基本的开发环境: 操作系统:MacOS 10.13.5编辑器:IDEA 2018.3其他:MySQL8.0.15.Maven 3.3.9.JDK 1.8 好,下面就正式开始: 第一步:在IDEA中新建一个maven项目 1.使用骨架创建maven项目,此处选择:maven-archetype-quickstart 2.填入GroupId和ArtifactId 3.第一个选中maven安装的文件夹,第二个选中maven安装文件夹中的conf/settings.xml,第三个如果set

  • 教你如何用Eclipse创建一个Maven项目

    一.Maven的安装与设置环境变量 想要创建一个Maven项目需要先安装Maven,并且设置好环境变量 1.去下载Maven 2.设置环境变量 新建变量MAVEN_HOME,值为Maven的目录X:\XXX\apache-maven-XXX 将%MAVEN_HOME%\bin添加到Path变量下 3.运行CMD,输入mvn -v后可以看到Maven的版本信息等则表示安装成功 二.创建Maven项目和依赖 2.1 创建Maven项目的两种方式 第一种创建方式:使用命令行手动创建 mvn arche

  • laravel项目利用twemproxy部署redis集群的完整步骤

    前言 twemproxy是twitter开发的一个redis代理proxy,Twemproxy可以把多台redis server当作一台使用,开发人员通过twemproxy访问这些redis servers 的时候不用关心到底去哪一台redis server读取k-v数据或者把k-v数据更新到数据集中,也解决了多台服务器中redis共享的问题.如果借助于redis的master-slave replication,能保证在任何一台redis不能工作情况下,仍然能够保证能够存在一个整个的数据集.

  • 初次使用IDEA创建maven项目的教程

    第一次使用IDEA,创建一个maven项目,首先下载maven,官方地址:http://maven.apache.org/download.cgi 解压,在环境变量里配置 path里 D:\maven\apache-maven-3.5.2\bin,打开cmd,输入mvn -version 可以查看是否配置成功 打开IDEA,new project,选择maven项目,Project SDK选择自己的jdk, 选中webapp项目,点击next,GroupId是组名(一般是域名+公司名或姓名),A

  • 解决idea中maven项目无端显示404错误的方法

    问题描述: 有时我们会发现idea中创建的maven项目老是显示项目路径找不到,自己反复检查代码也没发现错误,如何你项目的web.xml是直接由idea默认创建的,而你的头文件又是后来直接用3.1或者更高的版本(推荐3.1版本)覆盖的原来的头文件,那我这篇博客就对你有帮助了. 问题原因: 当我们idea使用maven创建web项目时,idea默认提供的web.xml非常古老,功能不完善.如果我们只是单纯替换其头文件的话是没有用的,idea中web.xml的配置还是没有变. 如何解决: 1.将原来

  • SpringBoot创建多模块项目的全过程记录

    构建项目 我们采用IntelliJ IDEA工具来创建一个Maven项目,项目的pom.xml要添加对应SpringBoot的配置,因为Maven多模块项目内的模块并不能独立的存在,必须有一个介质来包含,项目结构如下下图所示 我们创建的Maven项目结构如上图所示,pom.xml内我们对应的添加了对SpringBoot的支持,因为我们需要使用SpringBoot来作为项目基本框架,并在pom.xml配置文件引入了Web模块的支持,所以介质项目内的Module都会用于Web依赖 我们在介质Mave

  • IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法

    出处:https://www.cnblogs.com/SunSpring eclipse下面创建的Maven项目,使用mybatis.eclipse里面能正常启动,在idea中一直卡在maybatis 加载位置. 1.首先是不报错也没反应.这个时候需要我们重写SqlSessionFactoryBean 让错误显示出来. public class BeanFactory extends SqlSessionFactoryBean { @Override protected SqlSessionFa

  • maven项目无法读取到resource文件夹的问题

    目录 maven项目无法读取到resource文件夹 resource文件夹下部分文件无法读取 maven项目无法读取到resource文件夹 使用idea moudle创建一个maven项目删除后出现,原有的maven项目里运行时报错查看错误代码后发现只要是resource文件夹下的东西都是找不到的. 排查后发现由于之前的创建pom.xml文件里的packaging被修改成了pom,改成war就恢复正常了. 具是什么原因引起的,由于刚开始学习不是很懂,无法说明. resource文件夹下部分文

  • 在本地用idea连接虚拟机上的hbase集群的实现代码

    1.用maven添加依赖(看清自己hbase版本) <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.apache.hbase</

随机推荐