从 Parquet 格式的配置单元表中查询时如何抑制日志

Posted

技术标签:

【中文标题】从 Parquet 格式的配置单元表中查询时如何抑制日志【英文标题】:how to supress log when query from hive table with Parquet format 【发布时间】:2016-12-09 02:54:28 【问题描述】:

首先,我使用 spark1.6.1 创建一个表,如下所示:

hiveContext.createDataFrame(rows, schema).write.mode(SaveMode.Append).saveAsTable(tableName)

第二,当我像这样从我的表中查询时:

hive> select dt from tablename limit 200;

它会打印很多这样的日志: 2016-12-9 10:41:11 信息:parquet.hadoop.InternalParquetRecordReader:在 1 毫秒内块读取内存。行数 = 13 2016-12-9 10:41:11 警告:parquet.hadoop.ParquetRecordReader:由于上下文无法初始化计数器不是 TaskInputOutputContext 的实例,而是 org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl 2016-12-9 10:41:11 INFO: parquet.hadoop.InternalParquetRecordReader: RecordReader 初始化将读取总共 20 条记录。 2016-12-9 10:41:11 信息:parquet.hadoop.InternalParquetRecordReader:在第 0 行。读取下一个块 2016-12-9 10:41:11 信息:parquet.hadoop.InternalParquetRecordReader:在 1 毫秒内块读取内存。行数 = 20 2016-12-9 10:41:11 警告:parquet.hadoop.Par2016-11-26

2016-11-26
2016-09-02
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13
2016-11-13

查看粗体字体,这是我的结果的一部分。但它与日志信息混合在一起

但是当像这样查询时:

hive> select dt from tablename group dt;

很好

如何隐藏我不需要的日志?

【问题讨论】:

【参考方案1】:

你需要使用这个函数"sparkContext.setLogLevel("WARN")"吗?

【讨论】:

以上是关于从 Parquet 格式的配置单元表中查询时如何抑制日志的主要内容,如果未能解决你的问题,请参考以下文章

如何将配置单元查询结果以json格式存储在文件中?

以 parquet 格式保存数据帧会生成太多小文件

尝试从表中运行 select count(*) 查询时在配置单元中出错

如何在配置单元插入查询中忽略输入开始

保存从配置单元表中的 oracle 查询创建的 Spark DataFrame?

Presto 无法查询配置单元表