【发布时间】:2018-03-15 01:10:44
【问题描述】:
我的序列文件具有LongWritable 或Text 的键。这些值都是相同的格式(json)。我想在一个 spark 作业中一次处理它们,但我不知道如何编写代码,因此它适用于 Text 和 LongWritable 键。实际上,我什至不关心我工作中的序列记录键,我没有使用它们。
这就是我为LongWritable 所做的事情。我将如何增强它以适用于 LongWritable 和 Text 键?有没有办法只加载序列文件记录值而忽略键?
val rdd = sparkCtx.sequenceFile[Long, String](srcDir)
// put into Json records, don't care about seq key
val jsonRecs = rdd.map((record: (Long, String)) => new String(record._2))
【问题讨论】:
-
也许您可以分别读取
Text和LongWritable文件,在丢弃密钥后只需union您的rdds? -
我真的没有一个简单的方法来区分它们。但是,我想我已经找到了一种方法来做到这两点。 NullWritable 似乎对两者都有效。
标签: scala hadoop apache-spark