spark编程05——本地访问Spark集群(StandAlone模式)和sparkSession常用配置

以下代码用IDEA直接访问spark集群运行(地址是随便写的虚拟地址)

注意:一定要确保spark的版本和集群spark的版本保持一致,集群版本是3.2.0

所以如果IDEA中不是3.2.0的话,修改pom.xml文件:

<dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId> <!-- scala的版本 -->
            <version>3.2.0</version><!-- spark的版本 -->
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.12</artifactId>
            <version>3.2.0</version>
        </dependency>
    </dependencies>

import org.apache.spark.sql.SparkSession
import org.apache.spark.{SparkConf, SparkContext}
/**
  * 本地访问Spark集群(StandAlone模式),以及sparkSession常用配置
  */
object ExeFromSparkStandAlone {
  def main(args: Array[String]): Unit = {
    // 设置提交任务的用户
    System.setProperty("HADOOP_USER_NAME","Jason")
    val executorCores = 8
    val coresMax = executorCores * 8//个数取决于目前有多少资源(cores)可用,不要一下把资源占用满
    val partitionNum = coresMax * 3//spark.cores.max * 3
    val conf: SparkConf = new SparkConf()
      .setAppName("SparkStandAlone_Test")
      .setMaster("spark://10.10.10.134:7077")//Spark集群地址
      .setIfMissing("spark.driver.host", "10.10.10.71")//必须添加本地IP(运行Idea的电脑)
      .set("spark.executor.memory","8g")
      .set("spark.executor.cores",executorCores.toString)
      .set("spark.cores.max",coresMax.toString)
      .set("spark.driver.maxResultSize" , "10g")
      .set("spark.default.parallellism" , partitionNum.toString)
      .set("spark.shuffle.consolidateFiles","true")
      .set("spark.sql.shuffle.partitions",partitionNum.toString)
      .setJars(List("D:\\IDEA\\first-classes\\out\\artifacts\\first_classes_jar11\\first-classes.jar"))//Jar包的位置
    val spark: SparkSession = SparkSession.builder.config(conf).getOrCreate()
    val sc: SparkContext = spark.sparkContext
    sc.setLogLevel("WARN")
    val file="/Jason" //HDFS上的文件
    //读取hdfs的文件
    val path = "hdfs://10.10.10.102:9000"+file
    println(path)
    spark.stop()    //关闭资源
  }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值