使用Spark读取具有自定义扩展名的压缩文件

ache

我想将gzip压缩文件读为RDD[String]使用等效sc.textFile("path/to/file.Z")

除了我的文件扩展名(如果不是)之外,gz而是文件扩展名Z,因此该文件不被识别为压缩文件。

我无法重命名它们,因为这会破坏生产代码。我不想复制它们,因为它们很大且很多。我想我可以使用某种符号链接,但我想先看看是否有使用scala / spark的方法(我现在在本地Windows机器上)。

如何有效读取此文件?

米克尔·圣·维森特

这里有一种解决方法,可以解决此问题http://arjon.es/2015/10/02/reading-compressed-data-with-spark-using-unknown-file-extensions/

相关部分:

...扩展GzipCodec并覆盖getDefaultExtension方法。

package smx.ananke.spark.util.codecs

import org.apache.hadoop.io.compress.GzipCodec

class TmpGzipCodec extends GzipCodec {

  override def getDefaultExtension(): String = ".gz.tmp" // You should change it to ".Z"

}

现在我们刚刚注册了此编解码器,在SparkConf上设置了spark.hadoop.io.compression.codecs:

val conf = new SparkConf()

// Custom Codec that process .gz.tmp extensions as a common Gzip format
conf.set("spark.hadoop.io.compression.codecs", "smx.ananke.spark.util.codecs.TmpGzipCodec")

val sc = new SparkContext(conf)

val data = sc.textFile("s3n://my-data-bucket/2015/09/21/13/*")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查ios8自定义键盘扩展名是否具有开放访问权限?

如何使用带有自定义文件扩展名的H2数据库?

SQL查询带有自定义文件扩展名的平面文件时出错

自定义文件名,同时保留扩展名

使用Chokidar监视具有特定扩展名的文件

Android-如何使用Intent.ACTION_GET_CONTENT调用“文件选择器”时仅显示(或能够选择)具有自定义扩展名的文件

如何使用Spark DF或DS读取“ .gz”压缩文件?

使用glob python读取目录中具有特定扩展名的所有文件

如何编写和读取具有自定义扩展名的文本文件?

按扩展名查找和计数压缩文件

有什么办法可以使javascript读取具有自定义扩展名的文件?

AJAX可以读取具有自定义扩展名的文件吗?

如何在C#项目中构建具有自定义文件扩展名的DLL?

从.gz扩展名中提取压缩文件,同时从ftp服务器下载压缩文件

使用Windows注册表创建自定义文件扩展名

如何强制log4j2压缩文件,即使它没有标准的gz或zip扩展名

有没有一种方法可以将文件压缩为自定义扩展名?

使用scp复制具有某些扩展名的文件

压缩具有相同名称但扩展名不同的多个文件

具有扩展名的自定义Gradle Plugin Exec任务未正确使用输入

如何将新的(自定义)mime类型与文件关联(基于文件扩展名)?

如何在带有自定义 URL 和扩展名的 cakephp 中使用国际化

解压缩具有特定扩展名(不是 .zip)的文件

使用 grep 移动具有特定扩展名的文件

使用带有自定义文件扩展名的共享库与 cMake

Spark 使用自定义扩展名写入文件

使用自定义扩展名 Python 导出文本文件

Spark:如何递归读取目录中具有不同扩展名的所有文件?

如何使用 p5js 读取具有自定义扩展名的文本文件