在spark

时间:2016-06-04 21:11:18

标签: apache-spark thrift hadoop-lzo

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

  • 数据作为未压缩的thrift文件加载到s3中。来源是AWS Kinesis Firehose。
  • 我有一个工具可以反复排序文件,所以我知道thrift序列化/反序列化可以工作。
  • in spark,即时通讯使用newAPIHadoopFile
  • 使用elephantbird的LzoThriftBlockInputFormat,我能够成功读取lzo压缩的thrift文件
  • 我无法弄清楚我应该使用哪些InputFormat来读取未压缩的thrift文件。

可以使用任何InputFormats吗?我必须实现自己的吗?

1 个答案:

答案 0 :(得分:1)

我最终编写了自己的自定义thrift反序列化程序。

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

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