首页 > 解决方案 > 解压hadoop兼容的snappy文件

问题描述

Firehose 正在以 snappy 压缩形式将数据推送到 s3,并且其帧格式与 hadoop 兼容。我正在下载那个 snappy 文件并尝试使用这个库在 scala 中解压缩。

val input: Array[Byte] = Files.readAllBytes(Paths.get("/path/to/prod-a8d272bb-b7af-4141-bdba-6965b343a75f.snappy"))

val uncompressed: Array[Byte] = Snappy.uncompress(input)

哪个抛出错误

Exception in thread "main" java.io.IOException: FAILED_TO_UNCOMPRESS(5)
    at org.xerial.snappy.SnappyNative.throw_error(SnappyNative.java:98)

可以使用 SnappyHadoopCompatibleOutputStream 生成与 Hadoop Snappy 兼容的压缩流,但在我的情况下,我需要解压缩已经生成的压缩文件。这个库可以吗?或者如果没有,还有其他我可以使用的库吗?

标签: javascalahadoopcompressionsnappy

解决方案


推荐阅读