完美解决编写IDEA在Local模式下maven Spark程序消除日志中INFO输出

本文介绍了如何在IntelliJ IDEA环境下,针对使用maven构建的Spark程序,通过修改log4j配置或者调整SparkContext的logLevel来避免控制台输出INFO级别的日志。主要步骤包括复制并修改spark-core中的log4j-default.properties文件,或将SparkContext的日志级别设置为ERROR。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行spark程序时,由于使用的时spark-core下的log4j-default.properties配置文件,log4j会将INFO级别的信息全部输出到控制台
在这里插入图片描述
要消除这些INFO信息,只需要找到log4j-default.properties文件,将其复制一份到项目的src目录下,将第一行的log4j.rootCategory=INFO, console改成log4j.rootCategory=ERROR, console,只显示ERROR级别的日志。并将文件更名为log4j.properties。

第一步:找到导入的依赖jar文件中的spark-core相关目录,以此展开其中的org/apache/spark
在这里插入图片描述
第二步:找到其中的log4j-default.properties文件
在这里插入图片描述
第三步:将其复制一份到项目的src目录下,更名为log4j.properties
在这里插入图片描述
第四步:将第一行的log4j.rootCategory=INFO, console改成log4j.rootCategory

### 在 Local 模式下通过 IntelliJ IDEA 配置并运行 Spark 程序 要在本地模式下使用 IntelliJ IDEA 运行 Spark 程序,需完成以下几个方面的配置: #### 1. 软件及依赖项准备 为了成功构建和运行 Spark 应用程序,需要安装以下软件及其指定版本[^1]: - **Java JDK**: 推荐使用 Java 8 或更高版本。 - **Scala**: 版本应与 Spark 的 Scala 版本兼容。例如,如果使用的是 Spark 2.x,则推荐使用 Scala 2.11.x。 - **Apache Maven**: 用于管理项目的依赖关系,建议版本为 3.6.3 或以上。 - **IntelliJ IDEA 社区版/专业版**: 至少需要支持 Scala 插件的版本。 #### 2. 创建 Spark 项目 启动 IntelliJ IDEA 并按照如下方式创建一个新的 Maven 项目: - 新建一个 Maven 项目,在 `pom.xml` 文件中添加必要的 Spark 和 Scala 依赖项。以下是典型的依赖声明示例: ```xml <dependencies> <!-- Apache Spark Core --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.7</version> </dependency> <!-- Apache Spark SQL (可选) --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.4.7</version> </dependency> <!-- Scala Library --> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.11.8</version> </dependency> </dependencies> ``` #### 3. 编写 Spark 代码 编写简单的 Spark 程序来验证其功能。下面是一个基本的 Spark 示例代码片段[^2]: ```scala package com.example.sparkDemo import org.apache.spark.{SparkConf, SparkContext} object SimpleApp { def main(args: Array[String]): Unit = { val conf = new SparkConf() .setAppName("Simple Application") .setMaster("local[*]") // 设置为本地模式 val sc = new SparkContext(conf) val data = List(1, 2, 3, 4, 5) val rdd = sc.parallelize(data) val result = rdd.map(x => x * 2).collect() println(result.mkString(", ")) sc.stop() } } ``` 上述代码定义了一个简单的 RDD 数据集,并对其执行了映射操作,最后打印结果。 #### 4. 配置运行参数 在 IntelliJ IDEA 中设置运行配置以支持 Spark 程序的调试和测试: - 右键点击项目中的主类文件(如上例中的 `SimpleApp`),选择“Run 'SimpleApp.main()'”。 - 如果需要自定义 JVM 参数或其他选项,可以在 Run/Debug Configurations 对话框中调整 VM options。例如,可以增加内存分配或启用垃圾回收日志记录。 #### 5. 测试 Spark 程序 确保所有依赖已正确加载后,即可直接运行程序。由于设置了 `.setMaster("local[*]")`,因此此应用将在单机多线程环境下模拟集群行为[^3]。 --- ### 注意事项 - 当前环境仅适用于开发阶段的小规模数据处理;对于大规模生产部署,请切换至分布式集群模式。 - 若遇到任何编译错误,请检查所使用的库版本是否一致以及是否存在冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值