我试图让 spark 从 s3 读取未压缩的 thrift 文件。到目前为止,它还没有奏效。

  • 数据作为未压缩的 thrift 文件加载到 s3 中。来源是 AWS Kinesis Firehose。
  • 我有一个工具可以毫无问题地反序列化文件,所以我知道 thrift 序列化/反序列化是有效的。
  • in spark,我使用的是 newAPIHadoopFile
  • 使用大象鸟的 LzoThriftBlockInputFormat,我能够成功读取 lzo 压缩的节俭文件
  • 我不知道应该使用什么 InputFormat 来读取未压缩的 thrift 文件。

  • 任何 InputFormats 都可以做到这一点吗?我必须实现我自己的吗?

    最佳答案

    我最终编写了自己的自定义节俭反序列化器。

    需要实现自定义 InputFormat 和自定义 RecordReader。仍然对某些库中不存在此类类感到惊讶。这两个类已经过测试并且可以工作,但是因为我在解决这个问题后不久就停止了该项目的工作,所以代码没有被清理。

    https://github.com/mklosi/thrift-deserializer

    关于apache-spark - 在spark中读取未压缩的thrift文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37635065/

    10-16 02:35