以下代码用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() //关闭资源 } }
spark编程05——本地访问Spark集群(StandAlone模式)和sparkSession常用配置
最新推荐文章于 2024-04-13 14:10:41 发布