草庐IT

Bitmap压缩

全部标签

Hadoop 透明地处理压缩,但不拆分 LZO

在使用TextInputFormat时,Hadoop似乎透明地处理压缩(这是什么时候引入的,我不记得是在0.20.203上)。不幸的是,当使用LZO压缩时,Hadoop不使用LZO索引文件来使文件可拆分。但是,如果我将输入格式设置为com.hadoop.mapreduce.LzoTextInputFormat,文件将被拆分。是否可以配置Hadoop在使用TextInputFormat时解压缩LZO文件并拆分它们? 最佳答案 我刚遇到类似的问题,这是我的理解:您想在代码中使用LzoTextInputFormat。如果你想处理lzo和非

hadoop - 解压时如何读取压缩文件?

5GB的gzip文件如何读入内存并压缩?解压前是否需要将整个文件读入内存?我的问题与在Hadoop中处理gzip文件有关,它不能像处理非压缩文件那样拆分处理。bzip2呢?有什么区别吗?谢谢, 最佳答案 不需要,这5GB不需要读入内存。如果愿意,您可以一次读取一个字节,然后以这种方式解压缩。gzip、bzip2和我所知道的所有压缩格式都是流格式。您可以读取小位并连续解压缩它们,而不必在文件中倒退。(.ZIP格式的末尾有标题信息,因此解压缩程序通常从那里向后查找条目。但这不是必需的,.ZIP文件可以作为流进行压缩和解压缩。)

hadoop - 如何强制 Hadoop 解压缩输入而不考虑其扩展名?

我正在运行map-reduce,我的输入是gzip压缩的,但没有.gz(文件名)扩展名。通常,当它们具有.gz扩展名时,Hadoop会在将它们传递给映射器之前负责即时解压缩它们。但是,如果没有扩展名,它不会这样做。我无法重命名我的文件,所以我需要某种“强制”Hadoop解压缩它们的方法,即使它们没有.gz扩展名。我尝试将以下标志传递给Hadoop:step_args=["-jobconf","stream.recordreader.compression=gzip",“-jobconf”,“mapred.output.compress=true”,“-jobconf”,“mapred.

hadoop:lzo 压缩的自动拆分输出

我正在设置lzo编解码器以用作我的hadoop作业中的压缩工具。我知道lzo具有创建可拆分文件的理想功能。但是我还没有找到让lzo自动创建可拆分文件的方法。到目前为止我读过的博客都提到在作业外使用索引器并将输出lzo文件作为mapreduce作业的输入。我正在使用一些hadoop基准测试,我不想更改基准测试代码,只是在hadoop中使用lzo压缩来查看它对基准测试的影响。我计划使用lzo作为压缩map输出的编解码器,但如果输出不可拆分,则下一阶段必须在节点中获取整个压缩输出才能工作。是否有任何hadoop配置选项指示lzo使输出文件可拆分,以便透明地完成?

Hadoop 压缩 : "Loaded native gpl library" but "Failed to load/initialize native-lzo library"

在多次尝试为hadoop安装Lzo压缩后,我需要帮助,因为我真的不知道为什么它不起作用。我在CentOs6上使用hadoop1.0.4。我试过http://opentsdb.net/setup-hbase.html,https://github.com/kevinweil/hadoop-lzo和其他一些人,但我仍然遇到错误:13/07/0319:52:23信息lzo.GPLNativeCodeLoader:加载nativegpl库13/07/0319:52:23警告lzo.LzoCompressor:java.lang.NoSuchFieldError:workingMemoryBuf

hadoop - 在 Spark 中使用哪个设置来指定 `Output` 的压缩?

因此,Spark有文件spark-defaults.xml用于指定哪些设置,包括要使用哪个压缩编解码器以及在哪个阶段(RDD、Shuffle)。大多数设置都可以在应用程序级别进行设置。编辑:conf=SparkConf()conf.set("spark.hadoop.mapred.output.compress","true")conf.set("spark.hadoop.mapred.output.compression.codec","org.apache.hadoop.io.compress.snappy")如何使用spark-defaults.xml告诉Spark使用特定的编解

amazon-s3 - 将目录作为压缩文件从 Elastic MapReduce 上传到 S3

我想将EMR本地文件系统中的目录作为压缩文件上传到s3。有没有比我目前使用的方法更好的方法来解决这个问题?是否可以将ZipOutputStream作为Reducer输出返回?谢谢zipFolderAndUpload("target","target.zip","s3n://bucketpath/");staticpublicvoidzipFolderAndUpload(StringsrcFolder,StringzipFile,Stringdst)throwsException{//ZipsadirectoryFileOutputStreamfileWriter=newFileOutp

java - Hadoop 发出的原生 snappy 压缩数据无法通过 java-snappy 版本提取

当我们在一些处理后使用Spark时,我将结果存储到文件中,并使用简单代码使用snappy编解码器:data.saveAsTextFile("/data/2014-11-29",classOf[org.apache.hadoop.io.compress.SnappyCodec])在那之后,当我使用Spark读取这个文件夹文件时,一切都完美无缺!但是今天我尝试在我的电脑上使用javasnappy(java-snappy1.1.1.2)来解压结果文件夹中的一个文件(这个文件是从这个文件夹下载到我的电脑的文件之一)maven依赖:org.xerial.snappysnappy-java1.1.

hadoop - 如何使用 Snappy 压缩将文件放入 HDFS

我正在为一个客户工作,我应该将一些文件通过Snappy压缩放入HDFS。我的问题是snappy编解码器未在mapred-site.xml或hdfs-site.xml中定义不知何故,我必须优先使用hdfsput命令放置文件,并且它们应该被压缩。没有机会更改配置文件,因为它是生产机器并且其他人正在积极使用它。另一个建议的解决方案是在不压缩的情况下将文件导入HDFS,然后创建压缩的hive外部表并使用其源文件,同时删除未压缩的文件。但这还有很长的路要走,而且不能保证一定有效。任何有关使用带有某种参数的hdfsput来压缩文件的建议,我们将不胜感激。 最佳答案

java - 压缩在 Hadoop 中的工作原理

在我的MR工作中,比方说,我为映射或减少到LZO的输出指定了压缩,它是如何压缩的?来自map或reduce任务的整个数据是首先在没有压缩的情况下获得,然后在最后压缩未压缩的数据,还是增量压缩和写​​入。如果它被增量压缩和写​​入,那么它是如何完成的?请帮助我理解这一点。谢谢,文卡特 最佳答案 这基本上取决于您使用的文件类型。如果它是文本文件,则压缩发生在文件级别。但如果它是SequenceFile,那么压缩可能是记录级别或block级别。请注意,这里的block是指使用序列文件的缓冲区,而不是hdfsblock。如果是block压缩