window本地连接远程集群,执行spark任务

介绍: 看网上的博客对于本地联调spark任务整个部署流程都不是很全, 所以单独写了一个,同时加深一些影响,方便下次直接使用
功能: window电脑本地连接远程集群, 执行spark任务调试demo

第一步:demo代码

需要修改的参数:

  1. spark.sql.warehouse.dir ,该参数指定了 Hive 的数据存储目录;
  2. hive.metastore.uris;
  3. hive.exec.scratchdir,该参数指定了 Hive 的数据临时文件目录,默认位置为 HDFS 上面的 /tmp/hive 路径下;
package com.hzw.fdc.service

import org.apache.spark.internal.Logging
import org.apache.spark.sql.{DataFrame, SparkSession}

object MainFabIndicatorErrorReportService extends  Logging{

  def main(args: Array[String]): Unit = {

    logWarning(s"----------解析 程序入参 args---------")

    val warehouseLocation = "hdfs://116.63.158.113:8020/user/hive/warehouse"

    //获取SparkSession
    val spark: SparkSession = SparkSession.builder()
      .appName("MainFabIndicatorErrorReportService")
      .master( "local[2]" )
      .config("spark.sql.warehouse.dir",warehouseLocation)
      .config("dfs.client.use.datanode.hostname", "true")
      //.config("fs.defaultFS","hdfs://116.63.158.113/")
      .config("hive.metastore.uris","thrift://139.9.228.88:9083")
      .config("hive.exec.scratchdir", "hdfs://116.63.158.113:8020/user/hive/tmp")
      .config("spark.sql.broadcastTimeout", "36000")
      .config("spark.debug.maxToStringFields", "100")
      .config("spark.sql.autoBroadcastJoinThreshold", "104857600")  //广播表的上限:单位为B,现设置最大广播300M的表;
      .config("spark.sql.broadcastTimeout", "-1")  //广播超时时间: 单位为ms, -1为永不超时;
      .enableHiveSupport()
      .getOrCreate()
    spark.sparkContext.setLogLevel("WARN")


    val hiveResult: DataFrame = spark.sql("select * from default.indicator_error_report_day")
    hiveResult.createTempView("indicator_error_report_day")
    hiveResult.show(20, true)

    spark.stop()
  }

}

第二步: 本地window 环境配置

window 电脑上本地联调spark任务 , 需要 Hadoop :https://github.com/cdarlint/winutils

在这里插入图片描述

下载hadoop文件到window电脑
在这里插入图片描述

配置变量添加
在这里插入图片描述
在这里插入图片描述
本地电脑配置远程的hosts, 需要把远程集群的服务器hostname在本地添加

修改C:\Windows\System32\drivers\etc\hosts 文件
在这里插入图片描述
需要使用管理员权限执行
在这里插入图片描述
执行notepad hosts
在这里插入图片描述

第三步:执行spark任务调试

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐