当前位置: 首页 > article >正文

大数据开发学习Day10

一、Linux / Shelltee 双向输出 head/tail 日志查看1. tee命令从标准输入读取数据同时输出到标准输出屏幕 和一个或多个文件tee[选项][文件...]-a,--append追加到文件末尾而不是覆盖 -i, --ignore-interrupts 忽略中断信号--help显示帮助信息--version显示版本信息1.1 基本用法同时输出到屏幕和文件//将echo的输出同时显示在屏幕并写入 file.txtechoHello World|teefile.txt //输出到多个文件echoHello|teefile1.txt file2.txt file3.txt1.2 追加模式不覆盖原有内容echoNew line|tee-aexisting.log1.3 隐藏屏幕输出//只想写入文件不想看屏幕输出echoSecret|teesecret.txt/dev/null1.4 配合 sudo 写入受保护文件//向需要root权限的文件写入内容echo127.0.0.1 example.com|sudotee-a/etc/hosts1.5 在管道中同时保存中间结果//统计命令执行过程中某个阶段的数据catlarge_file.txt|teetemp.txt|greperror|wc-l//temp.txt 保存了完整内容便于后续分析1.6 进程替换同时给多个命令提供数据//一份数据同时给两个不同的命令处理echo-eapple\nbanana\ncherry|tee(sort)(wc-l)/dev/null2. head 命令输出文件的开头部分默认显示前 10 行head[选项][文件...]-nN,--linesN 显示前 N 行-cN,--bytesN 显示前 N 个字节 -q, --quiet,--silent不显示文件名标题多文件时 -v,--verbose总是显示文件名标题--help显示帮助信息2.1 基本用法显示前10行//默认显示前10行headfile.txt //指定显示前20行head-n20file.txthead-20file.txt# 简写形式2.2 显示前 N 个字节//显示前100个字节head-c100file.txt //显示前1KB1024字节head-c1024file.txt2.3 处理多个文件//显示多个文件的前5行会自动显示文件名标题head-n5file1.txt file2.txt file3.txt# 输出示例# file1.txt # line1# line2# ...# file2.txt # line1# ...//禁止显示文件名标题head-q-n5file1.txt file2.txt2.4 与其他命令组合//查看进程列表的前10个psaux|head-10//查看日志文件的前50行head-50/var/log/syslog //排除最后100行只显示前面的内容结合tail使用head-n-100file.txt# 显示除了最后100行之外的所有内容2.5 负数的特殊用法//显示除了最后5行之外的所有行head-n-5file.txt //显示除了最后20字节之外的所有内容head-c-20file.txt3. tail 命令输出文件的结尾部分默认显示后 10 行tail[选项][文件...]-nN,--linesN 显示最后 N 行-cN,--bytesN 显示最后 N 个字节 -f,--follow实时跟踪文件新增内容 -q, --quiet,--silent不显示文件名标题 -v,--verbose总是显示文件名标题3.1 基本用法显示最后10行//默认显示最后10行tailfile.txt //显示最后20行tail-n20file.txttail-20file.txt# 简写形式3.2 实时监控日志最常用//实时跟踪日志文件的新增内容tail-f/var/log/syslog //实时跟踪并显示最后50行tail-n50-fapp.log //更友好的显示加上行号tail-faccess.log|nl3.3 处理日志轮转-F 参数//即使文件被重命名或轮转也能继续跟踪tail-F/var/log/nginx/access.log //-F 比-f更强大 //- 文件被删除/重命名后会重新打开 //适用于logrotate等日志轮转工具3.4 显示最后 N 个字节//显示最后200个字节tail-c200file.txt //显示最后1KBtail-c1024log.txt3.5 从第 N 行开始显示//从第15行开始显示包括第15行tail-n15 file.txt //从第100行开始显示到末尾tail-n100 large_file.txt3.6 组合 tail 和 head 提取中间段落//显示第50-60行先取前60行再取最后11行head-60file.txt|tail-11//显示第100行到文件末尾tail-n100 file.txt //显示第1-100行排除第101行之后head-100file.txt3.7 多文件监控//同时监控多个日志文件tail-ferror.log access.log# 输出会标注文件来源# error.log # error message...# access.log # access message...3.8 配合 PID 自动退出//监控日志当进程1234结束时tail 也退出tail-f--pid1234app.log4. 三个命令对比总结特性teeheadtail主要用途 数据分流/保存 查看文件开头 查看文件结尾 默认行数 无处理所有输入10行10行 是否修改文件 写入文件不修改原内容 只读 只读 实时监控 否 否 是-f/-F 常见场景 保存日志、sudo 写入 预览文件、查看配置 监控日志、查看最新数据5. 任务对 login.log 执行1. 提取 uid第 2 列2. 去重统计3.同时输出到屏幕 并 保存到 uid_stat.log4.只显示前 5 条//login.log2025-04-0910:00:00,uid100,login_success2025-04-0910:01:00,uid101,login_fail2025-04-0910:02:00,uid100,login_successcut-d,-f2login.log|sort|uniq-c|sort-nr|teeuid_stat.log|head-5大数据排查常用实时看日志 留存记录二、SQL511. 游戏玩法分析ISELECTA.player_id,MIN(A.event_date)ASfirst_loginFROMActivity AGROUPBYA.player_id;分组取每组最小日期 首次登录日期多字段 IN 子查询精准匹配首次登录记录典型场景用户首设备、首单、首次访问1596. 每位顾客最经常订购的商品SELECTactivity_dateASlogin_date,COUNT(DISTINCTuser_id)ASuser_countFROMTrafficWHEREactivityloginGROUPBYuser_id,activity_dateHAVINGMIN(activity_date)activity_date;先筛选 login 行为按用户 日期分组只保留最小登录日期按日期统计当日新增登录用1069. 产品销售分析SELECTp.product_name,s.product_id,s.year,s.quantity,s.priceFROMSales sJOINProduct pONs.product_idp.product_idWHERE(s.product_id,s.year)IN(SELECTproduct_id,MIN(year)FROMSalesGROUPBYproduct_id);关联产品表获取名称子查询找到每个产品最早销售年份主表匹配年份取出首年全部销售记录三、PySpark 核心新内容视图与函数 多维度排序 数据采样 性能小优化frompyspark.sqlimportSparkSessionfrompyspark.sqlimportfunctionsasF sparkSparkSession.builder \.master(local[*])\.appName(day10)\.getOrCreate()data[(1,click,100,2025-01-01),(1,buy,200,2025-01-01),(2,view,50,2025-01-02),(3,click,80,2025-01-01),]dfspark.createDataFrame(data,[uid,event,cost,dt])# 新知识点1创建全局临时视图 df.createOrReplaceTempView(user_log)# SQL查询spark.sql(select uid, sum(cost) from user_log group by uid).show()# 新知识点2多列排序 df.orderBy(F.desc(cost),F.asc(uid)).show()# 新知识点3数据采样大数据排查用 df.sample(withReplacementFalse,fraction0.5,seed123).show()# 新知识点4withColumnRenamed 重命名 df.withColumnRenamed(cost,amount).show()spark.stop()createOrReplaceTempView 建临时视图多字段组合排序sample 数据采样字段重命名四、算法LeetCode 209. 长度最小的子数组滑动窗口 O (n) 最优解理解左右指针收缩逻辑对比前缀和 O (n log n) 思路defminSubArrayLen(target,nums):lefttotal0min_lenfloat(inf)forrightinrange(len(nums)):totalnums[right]whiletotaltarget:min_lenmin(min_len,right-left1)total-nums[left]left1returnmin_lenifmin_len!float(inf)else0

相关文章:

大数据开发学习Day10

一、Linux / Shell tee 双向输出 head/tail 日志查看 1. tee命令:从标准输入读取数据,同时输出到标准输出(屏幕) 和一个或多个文件 tee [选项] [文件...]-a, --append 追加到文件末尾,而不是覆盖 -i, --ignore-int…...

Draw.io ECE插件:5分钟创建专业电路图的终极指南

Draw.io ECE插件:5分钟创建专业电路图的终极指南 【免费下载链接】Draw-io-ECE Custom-made draw.io-shapes - in the form of an importable library - for drawing circuits and conceptual drawings in draw.io. 项目地址: https://gitcode.com/gh_mirrors/dr/…...

从POC到千万QPS:构建可审计、可回滚、可横向对比的大模型评估指标体系(含金融/医疗双行业基线数据)

第一章:从POC到千万QPS:构建可审计、可回滚、可横向对比的大模型评估指标体系(含金融/医疗双行业基线数据) 2026奇点智能技术大会(https://ml-summit.org) 在高合规性场景中,大模型评估不能止步于单次离线评测——它…...

从零构建IPXE编译环境:避坑指南与实战解析

1. 为什么需要定制IPXE编译环境 最近在帮客户部署自动化装机系统时,发现标准PXE存在不少局限性。比如无法直接加载HTTP资源、不支持现代加密协议,最头疼的是不同硬件架构(x86 BIOS/UEFI、ARM)需要不同的引导文件。这时候IPXE就派…...

【故障公告】数据库服务器磁盘 MBPS 高造成 :-: 期间全站故障斡

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成,将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

UndertaleModTool终极指南:3步构建你的个性化游戏世界

UndertaleModTool终极指南:3步构建你的个性化游戏世界 【免费下载链接】UndertaleModTool The most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!) 项目地址: https://gitcode.com/gh_mirrors/un/UndertaleModTo…...

统一支付网关架构解析:企业级多平台支付集成设计哲学

统一支付网关架构解析:企业级多平台支付集成设计哲学 【免费下载链接】pay 可能是我用过的最优雅的 Alipay/WeChat/Douyin/Unipay/江苏银行 的支付 SDK 扩展包了 项目地址: https://gitcode.com/gh_mirrors/pa/pay 在数字化商业生态中,支付系统作…...

特征工程路线图:未来自动化特征学习的发展趋势

特征工程路线图:未来自动化特征学习的发展趋势 【免费下载链接】fe4ml-zh :book: [译] 面向机器学习的特征工程 项目地址: https://gitcode.com/gh_mirrors/fe/fe4ml-zh 特征工程作为机器学习流水线的核心环节,是连接原始数据与模型性能的关键桥梁…...

【C】运算符优先级

优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.成员选择(对象)对象.成员名--->成员选择(指针)对象指针->成员名--2-负号运算符-表达式右到左单目运算…...

Windows环境下EMQX守护进程的自动化监控与恢复方案

1. 为什么需要EMQX守护进程监控方案 EMQX作为一款开源的MQTT消息中间件,在物联网和实时通信领域应用广泛。但在实际生产环境中,尤其是在Windows服务器上长期运行时,经常会遇到服务意外退出的情况。我自己在运维一个老旧项目时就深有体会——由…...

航空发动机EGT裕度实战指南:从参数解读到寿命预测(附B747案例分析)

航空发动机EGT裕度实战指南:从参数解读到寿命预测(附B747案例分析) 在航空维修领域,EGT(排气温度)裕度就像发动机的"健康晴雨表"。想象一下,当你驾驶一辆汽车爬坡时,水温表…...

一天做出:鸿蒙 + AI 游戏 Demo

子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...

Phi-4-mini-reasoning vLLM部署进阶:量化加载(AWQ/GGUF)与推理提速实测

Phi-4-mini-reasoning vLLM部署进阶:量化加载(AWQ/GGUF)与推理提速实测 1. 模型简介与部署准备 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据,并进一步微调以提高更高…...

从GPT-4到行业大模型落地:我们踩过的11个A/B测试深坑,含流量隔离失效、跨版本指标不可比、反馈污染等独家复盘

第一章:大模型工程化中的A/B测试实践 2026奇点智能技术大会(https://ml-summit.org) 大模型上线后的效果验证不能依赖主观评估或离线指标,必须通过受控的线上流量分流与可归因的行为观测完成因果推断。A/B测试已成为大模型服务迭代中验证提示工程优化、…...

Fe₃O₄@Au-PEG-FITC,四氧化三铁@金-聚乙二醇/荧光素异硫氰酸酯纳米复合材料,物理性质

Fe₃O₄Au-PEG-FITC,四氧化三铁金-聚乙二醇/荧光素异硫氰酸酯纳米复合材料,物理性质Fe₃O₄Au-PEG-FITC是一类由四氧化三铁(Fe₃O₄)磁性纳米颗粒为核心,经金纳米层(Au)包覆,并通过聚…...

OpenClaw从入门到应用——频道:Signal

通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》 Quick setup (beginner) 为机器人使用一个独立的 Signal 号码(推荐)。安装 signal-cli(如果使用 JVM 构建版,需要 J…...

如何快速掌握deepdoctection:文档智能解析的终极指南

如何快速掌握deepdoctection:文档智能解析的终极指南 【免费下载链接】deepdoctection A Repo For Document AI 项目地址: https://gitcode.com/gh_mirrors/de/deepdoctection deepdoctection是一个强大的文档智能解析工具,能够帮助用户高效处理各…...

记一次综合型流量分析 | 添柴不加火糯

核心摘要:这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一、痛…...

PHP反序列化实战:从CVE-2016-7124到fast-destruct,手把手教你绕过__wakeup的几种骚操作

PHP反序列化漏洞实战:深入剖析__wakeup绕过技术 在CTF竞赛和渗透测试中,PHP反序列化漏洞一直是高频考点。本文将带你从底层机制出发,通过实战案例深入理解如何绕过__wakeup魔术方法的限制。不同于简单的技巧罗列,我们会从PHP垃圾回…...

My-TODOs:免费开源的跨平台桌面待办清单应用终极指南

My-TODOs:免费开源的跨平台桌面待办清单应用终极指南 【免费下载链接】My-TODOs A cross-platform desktop To-Do list. 跨平台桌面待办小工具 项目地址: https://gitcode.com/gh_mirrors/my/My-TODOs 在信息爆炸的时代,高效管理日常任务已成为提…...

智能对象替换引擎:重新定义Adobe Illustrator设计自动化的范式转换

智能对象替换引擎:重新定义Adobe Illustrator设计自动化的范式转换 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在当今设计工作流中,设计师平均37%的工作…...

深度解析:AzurLaneAutoScript如何实现碧蓝航线全自动游戏管理

深度解析:AzurLaneAutoScript如何实现碧蓝航线全自动游戏管理 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 碧…...

从基础循迹到圆环挑战:红外传感器的进阶应用

1. 红外传感器循迹基础:从单传感器到多传感器布局 第一次接触红外循迹时,我和大多数新手一样,以为只要一个传感器就能搞定所有场景。实际测试后发现,单个传感器确实能实现基本的直线循迹,但就像骑独轮车走钢丝&#xf…...

MGeo门址解析模型部署指南:ModelScope Token配置与权限设置

MGeo门址解析模型部署指南:ModelScope Token配置与权限设置 1. 引言:为什么你需要一个专业的地址解析工具? 想象一下这个场景:你是一家外卖平台的工程师,每天要处理数百万条用户填写的地址。这些地址五花八门——“X…...

OpenLayers7实战速成:从零构建你的第一个WebGIS应用

1. 为什么选择OpenLayers7? 如果你正在寻找一个强大且免费的开源WebGIS开发库,OpenLayers7绝对值得考虑。作为一个长期从事地图开发的老兵,我见证了这个库从最初的复杂难用到现在的简洁高效。最新版本不仅性能大幅提升,API设计也更…...

大学生志愿者管理|基于springboot + vue大学生志愿者管理系统(源码+数据库+文档)

大学生志愿者管理系统 目录 基于springboot vue大学生志愿者管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue大学生志愿者管理系统 一、前…...

TrendPublish 模板开发完全手册:从零打造个性化微信公众号模板

TrendPublish 模板开发完全手册:从零打造个性化微信公众号模板 【免费下载链接】ai-trend-publish TrendPublish: 全自动 AI 内容生成与发布系统 | 微信公众号自动化 | 多源数据抓取 (Twitter/X、网站) | DeepseekAI、千问、讯飞模型 | 智能内容分析排序 | 定时发布…...

如何用插件化架构实现跨平台音乐数据智能统一?

如何用插件化架构实现跨平台音乐数据智能统一? 【免费下载链接】MusicFree 插件化、定制化、无广告的免费音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/mu/MusicFree 你是否曾经在网易云音乐收藏了一首好歌,想在QQ音乐上听却发现歌…...

SensitivityMatcher:终极免费鼠标灵敏度跨游戏转换工具

SensitivityMatcher:终极免费鼠标灵敏度跨游戏转换工具 【免费下载链接】SensitivityMatcher Script that can be used to convert your mouse sensitivity between different 3D games. 项目地址: https://gitcode.com/gh_mirrors/se/SensitivityMatcher 还…...

MogFace人脸检测模型-WebUI精彩案例分享:100+张复杂场景人脸标注效果对比

MogFace人脸检测模型-WebUI精彩案例分享:100张复杂场景人脸标注效果对比 1. 引言:为什么MogFace在复杂场景下表现如此出色 今天我想和大家分享一个让我印象深刻的技术体验——MogFace人脸检测模型在实际复杂场景中的表现。作为一个长期关注计算机视觉领…...