使用Spark 1.6.2从Console中删除调试日志

时间:2016-07-03 20:04:59

标签: java apache-spark

使用Java,我使用以下命令启动基本的Spark应用程序:

    SparkConf conf = new SparkConf().setAppName("myApp").setMaster("local");
    JavaSparkContext javaSparkContext = new JavaSparkContext(conf);
    javaSparkContext.setLogLevel("INFO");
    SQLContext sqlContext = new SQLContext(javaSparkContext);

我尝试通过添加setLogLevel来减少系统的动词,但它并不需要它。我还有很多调试信息。

理想情况下,我想关闭除错误之外的所有org.apache.spark.* ...

更新#1:

这是我的pom.xml:

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.10</artifactId>
        <version>1.6.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.databricks</groupId>
        <artifactId>spark-csv_2.10</artifactId>
        <version>1.4.0</version>
    </dependency>
</dependencies>

1 个答案:

答案 0 :(得分:1)

有一个文件conf / log4j.properties.template,根据您的日志记录需要复制并修改。

cd spark/conf
cp log4j.properties.template log4j.properties

向log4j.properties添加行应该起作用

log4j.logger.org.apache.spark=ERROR

<强> [编辑]

如果是maven java项目,则运行独立的spark。将log4j.properties复制到src/main/resources,或者如果是src/test/resources则复制到测试用例。并相应地修改。