spark 根据关键字查询日志信息(关键字下行10行)

从零搭建大数据处理管道:基于Hadoop+Spark+Hive的实战指南 数据处理管道是现代数据架构的核心组件,它通过一系列自动化步骤将原始数据转化为可供分析使用的可靠数据。其基本原理是遵循ETL(抽取、转换、加载)或ELT范式,利用分布式计算框架对海量数据进行并行处理,从而解决数据孤岛和质量问题。这项技术的核心价值在于为数据分析、机器学习和商业智能提供高质量、可信任的数据基础。在数据仓库构建、用户行为分析和日志处理等场景中,数据处理管道发挥着至关重要的作用。本文以构建一个可扩展的批处理管道为例,详细阐述了如何使用Hadoop、Spark和Hive等开源工具链,完成从数据采集、清 阅读详情

业务需要根据关键字查询HDFS日志信息,并且需要查看关键字Key之下10行

package com.spark.scala
import org.apache.spark.{SparkContext,SparkConf}

class mylog{

}

object mylog{
        def main(args: Array[String]) {
            //没有数据源,退出
            if(args(0) == 0){
                System.err.println("Usage:  mylog <file>")
                System.exit(1)
            }
            val conf = new SparkConf().setAppName("mylog")
            val sc = new SparkContext(conf)
            //加载数据、为每行数据添加索引并调换索引与Value值位置
            val f = sc.textFile(args(0)).zipWithIndex.map{
                    case(x,y)=>(y,x)}
            //过滤每行数据是否包含关键字
            val lf = f.filter(line=>line._2.toString
                        .contains(args(1)))
            //取得包含关键字数据所在行的索引号
            val num = lf.map(x=>x._1.toInt)
            //定义查询数据的起止索引
            val startNum = num.first + 0
            val endNum = num.first + 10
            //按起止索引过滤数据,并设置结果只为Value值数据
            val s = f.filter(startNum <= _._1).filter(
                    _._1 <= endNum).map(x=>x._2)
            //重设分区以便保存数据到HDFS上为单文件(结果数据较少)
            s.repartition(1).saveAsTextFile(args(2))
            System.exit(0)
    }
}

spark-defaults.conf
测试环境虚拟机内存比较小,设置spark.executor.memory为512m

spark.master   yarn-client
spark.executor.memory  512m
spark.local.dir  /usr/local/spark/data/tmp_spark_dir

spark-env.sh
这里写图片描述

建一个脚本submit-yarn.sh执行提交作业工作
cd home
vim submit-yarn.sh

cd  /usr/local/spark/spark-1.2.0-bin-hadoop2.4/

./bin/spark-submit  --name sparklog \
                    --class com.spark.scala.mylog \
                    /home/sparklog.jar \
                    hdfs://SparkMaster:9000/data \
                    chensy \
                    hdfs://SparkMaster:9000/mylog

/home/sparklog.jar 对应的是idea打包后为sparklog.jar,并存放在/home
hdfs://SparkMaster:9000/data 对应代码args(0),输入数据
chensy 对应代码args(1),是查询关键字
hdfs://SparkMaster:9000/mylog 对应代码args(2),输出数据

直接在home目录下,执行 ./submit-yarn.sh
查询结果: hadoop fs -ls /mylog

textRank算法关键词提取scala代码实现 本资源采用scala代码来实现textTank,进行文本关键词的提取。 立即下载

相关推荐

从零构建物联网监控系统:STM32+迪文屏+WiFi模组的实战解析

本文详细解析了基于STM32微控制器、迪文串口屏和WiFi模组构建物联网监控系统的完整方案。从硬件选型、系统架构设计到数据交互实现,提供了包括迪文屏GUI开发、STM32通信协议、低功耗优化等实战经验,帮助开发者快速掌握物联网监控系统的核心技术。

docker7nomad的博客 730

Spark-Streaming任务消费Kafka中topic(Resource)堆积问题排查&恢复

1. 观察该该topic消费组 Resource-group确定为Spark-Streaming任务消费resource主题出现堆积,堆积数据20Y 2.访问spark master web ui 查看 Resource任务,发现running applications 中该没有该任务,该任务已经死掉,查看死掉应用日志发现日志中只有一句: Received signal term. 没有其他错误...

885

逆向拆解dy接口a_bogus 1.0.1.19版本核心算法(纯算版)第二部分

本文深入解析了dy接口a_bogus 1.0.1.19版本的核心算法,重点介绍了逆向分析的基础方法论、魔改Base64编码识别与还原、随机数生成与位运算解析等关键技术。通过详细的代码示例和实用技巧,帮助开发者掌握逆向工程中的关键步骤,特别是针对a_bogus参数的生成逻辑和混淆处理。

weixin_29288313的博客 408

使用spark随机读取前10条数据

val rdd=sc.textFile("/hive/external/ad_win_b/2019122704"); rdd.take(100).foreach(println)

qq_43193797的博客 3216

ArcGIS投影变换实战:从WGS_1984到Krasovsky_1940_Albers的精准转换

本文详细解析了在ArcGIS中如何将WGS_1984地理坐标系下的数据精准转换至Krasovsky_1940_Albers投影坐标系。文章通过实战案例,重点阐述了地理坐标系与投影坐标系的区别,并逐步演示了创建自定义地理变换、使用投影栅格工具以及进行批量处理和结果验证的核心操作流程,旨在解决地图数据叠加不准的常见问题。

weixin_29251131的博客 466

26. Fabric2.2 司法存证的智能合约分析

有很多同学反馈 Fabric 智能合约读起来比较费劲,对于新手不友好看不懂,这里选择一个司法存证的智能合约,阅读、分析智能合约基础框架与核心流程代码,培养大家智能合约编写的方法论。

菜鸟的博客 1340

使用SQL语句从数据库一个表中随机获取数据

-- 随机获取 10 条数据 SQL Server: SELECT TOP 10 * FROM T_USER ORDER BY NEWID() ORACLE: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM MySQL: SELECT * FROM T_USER  ORDER

ligengdipan的专栏 1473

SAP-ABAP:SAP的BAPI_GOODSMVT_CREATE 深度解析

BAPI_GOODSMVT_CREATE 深度解析** **功能定位**:SAP 标准接口,支持 **11 种库存移动场景**(收货/发货/转储/生产投料等),是 MM 模块集成核心

baidu_35680696的博客 1826

spark分词关键字提取改进

在提取关键词中,TF-IDF是比较常用的算法,spark mlib中也提供了TF以及IDF的方法,但是由于spark提供的TF算法是不可逆的,即无法获取TF的结果对应的原句子的文字,所以需要采用 CountVectorizer。提取关键词的过程如下: 1、中文分词以及去掉停用词: 中文分词使用的是ansj:maven如下: <!--ansj--> <depe...

haungtan07的博客 1160

【DRAM存储器三十五】LPDDR4介绍--主要技术特性之VREF training,为什么要做VREF training?

详述DDR4、LPDDR4需要做vref training的原因和训练过程

highman110的博客 2918

2025秋招LLM大模型多模态面试题(八)- langchain完整面试题

1. **什么是 LangChain** 2. **LangChain 包含哪些核心模块** - 模型输入/输出(Model I/O) - 组件管理 - 数据处理 - 链式组合 - 记忆与上下文管理 - 外部集成 3. **一些核心概念** 4. **什么是 LangChain Agent?** 5. **什么是 LangChain model?** 6. **LangChain 包含哪些特点?** 7. **LangChain 如何使用?** - LangChai

weixin_41496173的博客 2192

Spark - Logging 简单使用

使用 Spark 运行任务打日志经常遇到一个问题就是日志太多,除了自己的 print 日志之外,还有很多 Executor、client 的日志,一方面任务运行期间会占用更多的机器存储,其次也不方便查询自己的 print 日志。下面介绍下常用的日志系统与使用方法。......

BITDDD小栈 2005

自动驾驶大模型---小米&华科的ORION端到端方案

本文介绍了小米汽车与华中科技大学联合开发的ORION自动驾驶端到端方案。该框架创新性地将视觉语言模型(VLM)与自动驾驶系统结合,包含QT-Former特征提取模块、大语言模型(LLM)推理模块和生成式规划器三大核心组件。通过视觉感知与语言理解的深度融合,ORION能更准确地理解人类指令并生成合理轨迹,同时提升系统的可解释性。实验证明,该方案在准确性、泛化能力和决策透明度方面均有显著优势。ORION框架为自动驾驶技术提供了新思路,有望推动行业向更安全、智能的方向发展。

智能汽车人的博客 2005

sparkstreaming 读取mysql_Spark Streaming在数据平台日志解析功能的应用

Spark Streaming在数据平台日志解析功能的应用一、日志解析功能的背景:通过日志,我们可以获得很多有用的信息,最常见的日志信息包括应用产生的访问日志、系统的监控日志,本文所针对的日志是大数据离线任务产生的运行日志。目前日志解析功能依附于有赞大数据平台,也就是有赞的data_platform,为该平台的一个功能。目前支持解析的日志类型包括:Hive任务、Spark任务、Datay增量任务、...

weixin_39669638的博客 964

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

用户查询日志(SogouQ)之查询词WordCount

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33941350的博客 219

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

如何通过spark history页面查看gluten是否集成成功

如果在配置、日志、Metrics或执行计划中均发现Gluten相关的有效信息(如插件加载成功、Velox任务计数为正),则表明Gluten已成功集成。较高,需确认查询是否包含Gluten尚未支持的操作(如某些UDF或复杂数据类型)

主要写大数据集群一线运维和学习工作经验 1286

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

spark开发一点总结

1.广播变量 将广播变量生成后,通过collect,collectAsMap 全部拉取到Driver端,然后广播出去 2.spark 广播视图表(默认是10兆,超过不会广播) a> df.registerTempTable("smalltable") spark.sql(CACHE TABLE smalltable") 2.设置广播视图表大小 spark.sql.autoBroadc...

dymkkj的专栏 346

基于Spark之上的YDB技术原理

一.YDB的本质?  在Spark之上基于搜索引擎技术,实现索引和搜索功能。  既有搜索引擎的查询速度,又有Spark强大的分析计算能力。  可对多个字段进行关键字全匹配或模糊匹配检索,并可对检索结果集进行分组、排序、计算等统计分析操作。  二.多种技术组合-万亿数据秒级查询    三.整体架构        四.倒排索引与跳跃表  1. 倒排索引与跳跃表基本原理   

z01_ejdazhi的博客 652

RTX Spark深度解析:将轻薄本变为个人超算的GPU加速Spark实战指南

GPU加速计算已成为现代数据处理与人工智能应用的核心技术,其原理在于利用图形处理器的并行架构,将大规模计算任务分解为数千个并发线程同时执行,从而实现对CPU计算的显著加速。这项技术的核心价值在于,它能够将传统上只能在数据中心服务器集群上运行的高性能计算工作负载,迁移到个人计算设备上,极大地提升了开发效率与实验迭代速度。在数据科学、机器学习和大数据处理等应用场景中,GPU加速能够为Apache Spark这类框架的关键操作(如连接、聚合和排序)带来数量级的性能提升。本文聚焦于英伟达推出的RTX Spark技术

weixin_30387423的博客 301

什么!你要学spark!

hadoop是什么 mapreduce概述 spark概述

2201_75381968的博客 1323

基于Spark的电商用户行为分析实战:从环境搭建到完整项目实现

在大数据处理领域,Apache Spark凭借其内存计算和统一引擎架构,已成为处理海量数据的核心技术。其核心原理在于将数据抽象为弹性分布式数据集(RDD),通过有向无环图(DAG)优化计算流程,显著提升了迭代与交互查询性能。这一技术价值在于能够高效应对数据扫描、过滤、聚合等典型计算模式,特别适用于用户行为分析、日志处理等应用场景。本文聚焦电商领域的用户行为分析,通过实战项目演示如何利用Spark SQL的DataFrame API,从原始日志中计算流量指标、转化漏斗和热门商品等关键业务洞察。文中不仅提供了解

weixin_34284188的博客 446

数据库系统内功修炼:从B+树到MVCC再到Spark的完整路径

数据库是后端系统的核心基础设施,其性能与可靠性由存储引擎、事务处理和故障恢复等底层机制共同决定。索引作为数据快速定位的关键,B+树通过降低磁盘I/O次数支撑海量数据查询;MVCC多版本并发控制则让读写操作互不阻塞,保障高并发场景下的事务隔离。理解这些原理,才能真正掌握查询优化与慢SQL调优的实质。从单机存储引擎到分布式计算,数据库系统设计思想贯穿始终。本文结合犹他大学CS6530课程主线,系统梳理从B+树、MVCC到WAL崩溃恢复、Spark执行引擎的完整知识体系,为后端工程师提供一条可落地的数据库底层学习

weixin_30599769的博客 434

基于spark之上的即席分析-技术原理

一.YDB的本质? 在Spark之上基于搜索引擎技术,实现索引和搜索功能。 既有搜索引擎的查询速度,又有Spark强大的分析计算能力。 可对多个字段进行关键字全匹配或模糊匹配检索,并可对检索结果集进行分组、排序、计算等统计分析操作。 二.多种技术组合-万亿数据秒级查询 ...

choukao5868的博客 215

基于Spark之上的YupDB技术原理

一.YUP DB的本质? 在Spark之上基于搜索引擎技术,实现索引和搜索功能。 既有搜索引擎的查询速度,又有Spark强大的分析计算能力。 可对多个字段进行关键字全匹配或模糊匹配检索,并可对检索结果集进行分组、排序、计算等统计分析操作。 二.多种技术组合-万亿数据秒级查询 三.整体架构 四.倒排索引与跳跃表 1. 倒排索引与跳跃表基本原理 2.与开源的倒排索引...

YupDB_XYD的博客 669

基于Spark的电商用户行为分析实战:从数据清洗到多维度洞察

在大数据领域,用户行为分析是理解用户意图、优化产品体验的核心技术。其基本原理是通过采集、处理和分析用户在数字产品中的交互日志,挖掘行为模式与业务价值。Apache Spark作为统一的大数据处理框架,凭借其内存计算、DAG执行引擎和Catalyst优化器,能够高效处理海量、多维度的用户行为数据,实现从ETL到复杂分析的端到端流程。在电商、社交、内容平台等场景中,Spark常用于构建用户转化漏斗、计算核心流量指标(如PV/UV)、进行商品热度排行和用户价值分群(如RFM模型)。本文聚焦于电商购物场景,通过Sp

weixin_34320159的博客 294
上一篇: Spark 1.X 大数据平台V2(第三周作业)
下一篇: Linux 中如何安装卸载软件
撸依天
博客等级 码龄18年 10粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撸依天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值