将数据保存到序列文件

5n0oy7gb  于 2021-06-09  发布在  Hbase
关注(0)|答案(0)|浏览(230)

我正在尝试对序列文件进行某种筛选,并将其保存回另一个序列文件,例如:

val subset = ???
val hc = sc.hadoopConfiguration

val serializers = List(
  classOf[WritableSerialization].getName,
  classOf[ResultSerialization].getName
).mkString(",")

hc.set("io.serializations", serializers)

subset.saveAsNewAPIHadoopFile(
  "output/sequence",
  classOf[ImmutableBytesWritable],
  classOf[Result],
  classOf[SequenceFileOutputFormat[ImmutableBytesWritable, Result]],
  hc
)

编译后,我收到以下错误:

Class[org.apache.hadoop.mapred.SequenceFileOutputFormat[org.apache.hadoop.hbase.io.ImmutableBytesWritable,org.apache.hadoop.hbase.client.Result]](classOf[org.apache.hadoop.mapred.SequenceFileOutputFormat]) 

required: Class[_ <: org.apache.hadoop.mapreduce.OutputFormat[_, _]] classOf[SequenceFileOutputFormat[ImmutableBytesWritable, Result]],

据我所知,SequenceFileOutputFormat扩展了fileoutputformat,后者扩展了outputformat,但我遗漏了一些东西。
你能帮忙吗?
我和spark团队在https://issues.apache.org/jira/browse/spark-25405

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题