当前位置: 首页 > 知识库问答 >
问题:

Spark/Scala打开压缩CSV文件

羿博延
2023-03-14

我对Spark和Scala是新手。我们将广告事件日志文件格式化为CSV,然后使用PKZIP进行压缩。我已经看到了许多关于如何使用Java解压缩压缩文件的示例,但是如何使用Scala for Spark来实现这一点呢?我们最终希望从每个传入文件中获取、提取并加载数据到Hbase目标表中。也许这可以用HadooprDD来完成吗?在这之后,我们将引入Spark streaming来监视这些文件。

共有1个答案

陆浩博
2023-03-14

在Spark中,只要您的文件具有正确的文件名后缀(例如,GZ表示gzipped),并且org.apache.hadoop.io.compress.compressionCodecFactory支持它,那么您就可以使用

sc.textFile(path)

更新:在编写时,它们是Hadoop bzip2库中的一个bug,这意味着试图使用spark读取bzip2文件会导致奇怪的异常--通常是ArrayIndexOutOfBounds。

 类似资料:
  • 我正在尝试将压缩的csv文件(.bz2)读取为数据帧。我的代码如下 当我在IDE中尝试时,这是可行的。我可以读取数据并对其进行处理,但当我尝试使用maven构建数据并在命令行上运行它时,会出现以下错误 我不确定我是否在这里错过了什么。读取csv文件是否有一些依赖项?根据留档,Spark 2. x. x内置了对此的支持。

  • 压缩文件-->10个文件夹--每个文件夹>20个csv文件 null 尝试了以下代码,但不起作用

  • 我正试图从压缩的csv文件中获取数据。有没有一种方法可以做到这一点,而不解压整个文件?如果没有,我如何解压文件并有效地读取它们?

  • 我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?

  • 在windows下我们接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件了。压缩的好处不用笔者介绍相信你也晓得吧,它不仅能节省磁盘空间而且在传输的时候还能节省网络带宽呢。 在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz,