千家信息网

【总结】spark按文本格式和Lzo格式处理Lzo压缩文件的比较

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1、描述spark中怎么加载lzo压缩格式的文件2、比较lzo格式文件以textFile方式和LzoTextInputFormat方式计算数据,Running Tasks个数的影响a.确保lzo文件所
千家信息网最后更新 2025年12月02日【总结】spark按文本格式和Lzo格式处理Lzo压缩文件的比较

1、描述spark中怎么加载lzo压缩格式的文件

2、比较lzo格式文件以textFile方式和LzoTextInputFormat方式计算数据,Running Tasks个数的影响

a.确保lzo文件所在文件夹中生成lzo.index索引文件

对该lzo压缩文件进行index操作,生成lzo.index文件,map操作才可以进行split

hadoop jar ${HADOOP_HOME}/lib/hadoop-lzo.jar com.hadoop.compression.lzo.DistributedLzoIndexer /wh/source/

b.以LzoTextInputFormat处理,能够正常按分块数分配Tasks


查看文件块数量

[tech@dx2 ~]$ hdfs fsck /wh/source/hotel.2017-08-07.txt_10.10.10.10_20170807.lzoConnecting to namenode via http://nn1.zdp.ol:50070FSCK started by bwtech (auth:SIMPLE) from /10.10.10.10 for path /wh/source/hotel.2017-08-07.txt_10.10.16.105_20170807.lzo at Tue Aug 08 15:27:52 CST 2017.Status: HEALTHY Total size:2892666412 B Total dirs:0 Total files:1 Total symlinks:0 Total blocks (validated):11 (avg. block size 262969673 B) Minimally replicated blocks:11 (100.0 %) Over-replicated blocks:0 (0.0 %) Under-replicated blocks:0 (0.0 %) Mis-replicated blocks:0 (0.0 %) Default replication factor:3 Average block replication:3.0 Corrupt blocks:0 Missing replicas:0 (0.0 %) Number of data-nodes:21 Number of racks:2FSCK ended at Tue Aug 08 15:27:52 CST 2017 in 3 milliseconds


Spark源代码可以参考https://github.com/chocolateBlack/LearningSpark/blob/master/src/main/scala-2.11/SparkLzoFile.scala

import com.hadoop.mapreduce.LzoTextInputFormatimport org.apache.hadoop.io.{Text, LongWritable}import org.apache.spark.{SparkContext, SparkConf}object SparkLzoFile{  def main(args:Array[String]){    val conf = new SparkConf().setAppName("Spark_Lzo_File")    val sc = new SparkContext(conf)    //文件路径    val filePath = "/wh/source/hotel.2017-08-07.txt_10.10.10.10_20170807.lzo"    //按textFile方式加载文件    val textFile = sc.textFile(filePath)    //按lzoTextInputFormat加载数据文件    val lzoFile = sc.newAPIHadoopFile[LongWritable, Text, LzoTextInputFormat](filePath)    println(textFile.partitions.length)// partitions个数输出 1    println(lzoFile.partitions.length)//  partitions个数输出 11    //两种方式计算word count查看后台任务    lzoFile.map(_._2.toString).flatMap(x=>x.split("-")).map((_,1)).reduceByKey(_+_).collect    textFile.flatMap(x=>x.split("\t")).map((_,1)).reduceByKey(_+_).collect  }}


文件 方式 个数 格式 数据 输出 处理 任务 后台 所在 数量 文件夹 源代码 索引 路径 a. b. 中生 分配 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全法域外管理 高考历年录取分数线数据库河南 南京宏贻科技软件开发有限公司 深圳自考网络安全 电池放电数据库结构 ios软件开发 数据库 普宁市青少年网络安全宣传 vs自带数据库入门 城市基础数据库建设的意义 软件开发阶段报告模板 暗网信息网络安全 如何用服务器管理客户机 中华人民共和国网络安全法书 苹果电脑学软件开发可以吗 易语言 服务器验证 防火墙开放服务器ip进入 深圳软件开发科技有限公司 服务器管理器怎样添加角色 单片机软件开发和嵌入式 河南放心软件开发服务值得推荐 区块链是数据库吗 安卓系统是哪个软件开发的 vb做数据库软件 参加工作软件开发电脑配置 山东市级国土空间规划数据库汇交 手机打游戏无法连接服务器 数据库中常见的数据格式 网络安全教育网络欺凌 网络安全手抄报设计感手机壳 广州天迹网络技术有限公司
0