如何禁用 PySpark 在运行时打印信息

我已经开始使用 PySpark。PySpark 的版本是3.5.4,它是通过 进行安装的pip

这是我的代码:

from pyspark.sql import SparkSession
pyspark = SparkSession.builder.master("local[8]").appName("test").getOrCreate()
df = pyspark.read.csv("test.csv", header=True)print(df.show())

每次我运行该程序时使用:

python test_01.py

它打印有关 pyspark 的所有信息(黄色):

如何禁用它,这样它就不会打印它。

解决办法:

  1. 不同的线条来自不同的来源。
    • Windows(“成功:... ”),
    • spark启动器shell /批处理脚本(“ ::加载设置 ::... ”)
    • 使用 log4j2 记录核心 spark 代码
    • 使用核心火花代码打印System.out.println()
  2. 不同的行写入不同的fds(std-out,std-error,log4j日志文件)
  3. Spark 针对不同目的提供了不同的“脚本”(pysparkspark-submitspark-shell、 ...)。您可能在这里使用了错误的脚本。

基于你想要达成的目标,最简单的方法是使用spark-submit,它适用于无界面执行:

CMD> cat test.py
from pyspark.sql import SparkSession
spark = SparkSession.builder \.config('spark.jars.packages', 'io.delta:delta-core_2.12:2.4.0') \  # just to produce logs.getOrCreate()spark.createDataFrame(data=[(i,) for i in range(5)], schema='id: int').show()CMD> spark-submit test.py
+---+
| id|
+---+
|  0|
|  1|
|  2|
|  3|
|  4|
+---+CMD>

要了解谁在向哪个 fd 写入什么是一个繁琐的过程,它甚至可能因平台(Linux/Windows/Mac)而异。我不推荐这样做。但如果你真的想要,这里有一些提示:

  1. 从您的原始代码:

print(df.show())

  • df.show()打印df到标准输出并返回None
  • print(df.show())打印None到标准输出。
  1. 运行使用python而不是spark-submit
CMD> python test.py
:: loading settings :: url = jar:file:/C:/My/.venv/Lib/site-packages/pyspark/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml
Ivy Default Cache set to: C:\Users\e679994\.ivy2\cache
The jars for the packages stored in: C:\Users\e679994\.ivy2\jars
io.delta#delta-core_2.12 added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent-499a6ac1-b961-44da-af58-de97e4357cbf;1.0confs: [default]found io.delta#delta-core_2.12;2.4.0 in centralfound io.delta#delta-storage;2.4.0 in centralfound org.antlr#antlr4-runtime;4.9.3 in central
:: resolution report :: resolve 171ms :: artifacts dl 8ms:: modules in use:io.delta#delta-core_2.12;2.4.0 from central in [default]io.delta#delta-storage;2.4.0 from central in [default]org.antlr#antlr4-runtime;4.9.3 from central in [default]---------------------------------------------------------------------|                  |            modules            ||   artifacts   ||       conf       | number| search|dwnlded|evicted|| number|dwnlded|---------------------------------------------------------------------|      default     |   3   |   0   |   0   |   0   ||   3   |   0   |---------------------------------------------------------------------
:: retrieving :: org.apache.spark#spark-submit-parent-499a6ac1-b961-44da-af58-de97e4357cbfconfs: [default]0 artifacts copied, 3 already retrieved (0kB/7ms)
+---+
| id|
+---+
|  0|
|  1|
|  2|
|  3|
|  4|
+---+CMD> SUCCESS: The process with PID 38136 (child process of PID 38196) has been terminated.
SUCCESS: The process with PID 38196 (child process of PID 35316) has been terminated.
SUCCESS: The process with PID 35316 (child process of PID 22336) has been terminated.CMD>
  1. 重定向stdout(fd=1)到一个文件:
CMD> python test.py > out.txt 2> err.txt
CMD> 
CMD> cat out.txt
:: loading settings :: url = jar:file:/C:/My/.venv/Lib/site-packages/pyspark/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml
+---+
| id|
+---+
|  0|
|  1|
|  2|
|  3|
|  4|
+---+SUCCESS: The process with PID 25080 (child process of PID 38032) has been terminated.
SUCCESS: The process with PID 38032 (child process of PID 21176) has been terminated.
SUCCESS: The process with PID 21176 (child process of PID 38148) has been terminated.
SUCCESS: The process with PID 38148 (child process of PID 32456) has been terminated.
SUCCESS: The process with PID 32456 (child process of PID 31656) has been terminated.CMD> 
  1. 重定向stderr(fd=2)到一个文件:
CMD> cat err.txt
Ivy Default Cache set to: C:\Users\kash\.ivy2\cache
The jars for the packages stored in: C:\Users\kash\.ivy2\jars
io.delta#delta-core_2.12 added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent-597f3c82-718d-498b-b00e-7928264c307a;1.0confs: [default]found io.delta#delta-core_2.12;2.4.0 in centralfound io.delta#delta-storage;2.4.0 in centralfound org.antlr#antlr4-runtime;4.9.3 in central
:: resolution report :: resolve 111ms :: artifacts dl 5ms:: modules in use:io.delta#delta-core_2.12;2.4.0 from central in [default]io.delta#delta-storage;2.4.0 from central in [default]org.antlr#antlr4-runtime;4.9.3 from central in [default]---------------------------------------------------------------------|                  |            modules            ||   artifacts   ||       conf       | number| search|dwnlded|evicted|| number|dwnlded|---------------------------------------------------------------------|      default     |   3   |   0   |   0   |   0   ||   3   |   0   |---------------------------------------------------------------------
:: retrieving :: org.apache.spark#spark-submit-parent-597f3c82-718d-498b-b00e-7928264c307aconfs: [default]0 artifacts copied, 3 already retrieved (0kB/5ms)CMD> 
  1. SUCCESS: The process with PID
    • 注意这是在 AFTER 之后打印的CMD>。即在完成以下执行后由“Windows”打印python
    • 你不会在 Linux 上看到它。例如从我的 Linux 机器上:
kash@ub$ python test.py
19:15:50.037 [main] WARN  org.apache.spark.util.Utils - Your hostname, ub resolves to a loopback address: 127.0.1.1; using 192.168.177.129 instead (on interface ens33)
19:15:50.049 [main] WARN  org.apache.spark.util.Utils - Set SPARK_LOCAL_IP if you need to bind to another address
:: loading settings :: url = jar:file:/home/kash/workspaces/spark-log-test/.venv/lib/python3.9/site-packages/pyspark/jars/ivy-2.5.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
Ivy Default Cache set to: /home/kash/.ivy2/cache
The jars for the packages stored in: /home/kash/.ivy2/jars
io.delta#delta-core_2.12 added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent-7d38e7a2-a0e5-47fa-bfda-2cb5b8b443e0;1.0confs: [default]found io.delta#delta-core_2.12;2.4.0 in spark-listfound io.delta#delta-storage;2.4.0 in spark-listfound org.antlr#antlr4-runtime;4.9.3 in spark-list
:: resolution report :: resolve 390ms :: artifacts dl 10ms:: modules in use:io.delta#delta-core_2.12;2.4.0 from spark-list in [default]io.delta#delta-storage;2.4.0 from spark-list in [default]org.antlr#antlr4-runtime;4.9.3 from spark-list in [default]---------------------------------------------------------------------|                  |            modules            ||   artifacts   ||       conf       | number| search|dwnlded|evicted|| number|dwnlded|---------------------------------------------------------------------|      default     |   3   |   0   |   0   |   0   ||   3   |   0   |---------------------------------------------------------------------
:: retrieving :: org.apache.spark#spark-submit-parent-7d38e7a2-a0e5-47fa-bfda-2cb5b8b443e0confs: [default]0 artifacts copied, 3 already retrieved (0kB/19ms)
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
+---+                                                                           
| id|
+---+
|  0|
|  1|
|  2|
|  3|
|  4|
+---+kash@ub$

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2094.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML拖拽功能(纯html5+JS实现)

1、HTML拖拽--单元行拖动 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><…

GLM: General Language Model Pretraining with Autoregressive Blank Infilling论文解读

论文地址&#xff1a;https://arxiv.org/abs/2103.10360 参考&#xff1a;https://zhuanlan.zhihu.com/p/532851481 GLM混合了自注意力和masked注意力&#xff0c;而且使用了2D位置编码。第一维的含义是在PartA中的位置&#xff0c;如5 5 5。第二维的含义是在Span内部的位置&a…

华为数通HCIE备考经验分享

在分享我的考试心得前我先介绍一下我自己&#xff0c;我叫郑同学&#xff0c;22岁&#xff0c;就读于深圳信息职业技术学院移动通信技术专业&#xff0c;在2024年的9月&#xff0c;我成功获得了HCIE-Datacom证书。 考证契机 我的备考之旅始于去年2023年的华为ICT大赛。在这场…

Web开发(二)CSS3基础与进阶

Web开发&#xff08;二&#xff09;CSS3基础与进阶 写在前面 参考黑马程序员前端Web教程做的笔记&#xff0c;主要是想后面自己搭建网页玩。 这部分是前端HTML5CSS3移动web视频教程的CSS3基础与进阶部分&#xff0c;包括CSS3的选择器、文字控制属性、背景属性、显示模式等CS…

使用PWM生成模式驱动BLDC三相无刷直流电机

引言 在 TI 的无刷直流 (BLDC) DRV8x 产品系列使用的栅极驱动器应用中&#xff0c;通常使用一些控制模式来切换MOSFET 开关的输出栅极。这些控制模式包括&#xff1a;1x、3x、6x 和独立脉宽调制 (PWM) 模式。   不过&#xff0c;DRV8x 产品系列&#xff08;例如 DRV8311&…

mac 安装docker

1、下载docker 进入 /Applications/Docker.app/Contents/MacOS/Docker Desktop.app/Contents/Resources目录 把app.asar 文件备份 将下载的中文包复制进去。修改成一样的名字 [汉化包下载地址](https://github.com/asxez/DockerDesktop-CN)

jupyter notebook练手项目:线性回归——学习时间与成绩的关系

线性回归——学习时间与学习成绩的关系 第1步&#xff1a;导入工具库 pandas——数据分析库&#xff0c;提供了数据结构&#xff08;如DataFrame和Series&#xff09;和数据操作方法&#xff0c;方便对数据集进行读取、清洗、转换等操作。 matplotlib——绘图库&#xff0c;p…

Vue3使用vue-count-to数字滚动模块报错解决方案

小伙伴们是不是遇到了vue3项目使用vue-count-to出现报错的问题 报错如下&#xff1a; TypeError: Cannot read properties of undefined (reading _c) 这个错误信息具体是说没读取到_c的属性 具体不清楚是什么原因&#xff0c;排查还得去看源码&#xff0c;所以我们来解决&a…

「实战应用」如何为DHTMLX JavaScript 甘特图添加进度线

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求&#xff0c;是最完善的甘特图图表库。 今天&#xff0c;您将学习如何使用进度线补充JavaScript 甘特图&#xff0c;以便于监控项目进度。 DHTMLX Gantt 最新试用版下载 …

系统架构设计师-第1章-计算机系统知识要点

【本章学习建议】 根据考试大纲&#xff0c;本章主要考查系统架构设计师单选题&#xff0c;预计考1分左右。第二版教材2.2节增加了本块内容&#xff0c;但较为简略&#xff0c;需要课程补充&#xff0c;属于非重点内容。 1.1 计算机硬件组成 计算机的基本硬件系统由运算器、控…

【C】初阶数据结构3 -- 单链表

之前在顺序表那一篇文章中&#xff0c;提到顺序表具有的缺点&#xff0c;比如头插&#xff0c;头删时间复杂度为O(n)&#xff0c;realloc增容有消耗等。而在链表中&#xff0c;这些问题将得到解决。所以在这一篇文章里&#xff0c;我们将会讲解链表的定义与性质&#xff0c;以及…

网络网络层ICMP协议

网络网络层ICMP协议 1. ICMP 协议介绍 ICMP&#xff08;Internet Control Message Protocol&#xff09;是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息&#xff0c;提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试&#xff08;…

nvm 管理nodejs,安装pnpm后报错,出现:pnpm不是内部或外部命令,也不是可运行的程序或批处理文件。

系统环境&#xff1a;window11&#xff0c;exe安装版nvm出现的该问题&#xff0c;&#xff08;如果是解压缩配置版本&#xff0c;环境变量自己配置&#xff0c;可能就不会出现这个问题了&#xff09; 注意&#xff1a;安装nvm时&#xff0c;两个路径尽量放到一个盘上&#xff…

论文阅读:Searching for Fast Demosaicking Algorithms

今天介绍一篇有关去马赛克的工作&#xff0c;去马赛克是 ISP 流程里面非常重要的一个模块&#xff0c;可以说是将多姿多彩的大千世界进行色彩还原的重要一步。这篇工作探索的是如何从各种各样的去马赛克算法中&#xff0c;选择最佳的一种。 Abstract 本文提出了一种方法&…

活动预告 | CCF开源发展委员会开源供应链安全技术研讨会(2025第一期)——“大模型时代的开源供应链安全风控技术”...

点击蓝字 关注我们 CCF Opensource Development Committee CCF开源发展委员会开源供应链安全工作组&#xff08;以下简称CCF-ODC-OSS&#xff09;将于1月17日下午在北京黄大年茶思屋举行2025年第一期开源供应链安全技术研讨会&#xff0c;此次研讨会主题为“大模型时代的开源供…

centos 8 中安装Docker

注&#xff1a;本次样式安装使用的是centos8 操作系统。 1、镜像下载 具体的镜像下载地址各位可以去官网下载&#xff0c;选择适合你们的下载即可&#xff01; 1、CentOS官方下载地址&#xff1a;https://vault.centos.org/ 2、阿里云开源镜像站下载&#xff1a;centos安装包…

关于Profinet 从站转 EtherNet/IP 从站网关详细说明

一、产品概述 1.1 产品用途 本产品是 PN(Profinet) 和 EtherNet/IP 网关&#xff0c;使用数据映射方式工作。 本产品在 PN 侧作为 PN IO 从站&#xff0c;接 PN 主站设备&#xff0c;比如西门子 PLC 等&#xff1b;在EtherNet/IP 侧做为 EtherNet/IP 从站&…

【SH】Xiaomi9刷Windows10系统研发记录 、手机刷Windows系统教程、小米9重装win10系统

文章目录 参考资料云盘资料软硬件环境手机解锁刷机驱动绑定账号和设备解锁手机 Mindows工具箱安装工具箱和修复下载下载安卓和woa资源包第三方Recovery 一键安装Windows准备工作创建分区安装系统 效果展示Windows和Android一键互换Win切换安卓安卓切换Win 删除分区 参考资料 解…

企业服务-团队协作相关平台极简介绍

前言 最近&#xff0c;为一家企业做咨询&#xff0c;该公司主要从事地产行业&#xff0c;老板李总招了几名研发人员&#xff0c;想着开发自己的行业APP&#xff0c;但是3年了&#xff0c;产品一直拿不出手&#xff0c;按李总的说法&#xff0c;产品还是很不成熟&#xff0c;但…

怎么防止SQL注入攻击

引言 SQL注入攻击是黑客对数据库进行攻击的常用手段之一&#xff0c;随着B/S模式应用开发的发展&#xff0c;使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验参差不齐&#xff0c;相当大一部分程序员在编写代码的时候&#xff0c;没有对用户输入数据…