我在scala中有一个字节数组: val nums = Array[Byte](1,2,3,4,5,6,7,8,9)
也可以采用任何其他字节数组。
我想把它保存为hdfs中的序列文件。下面是我在scala控制台中编写的代码。
import org.apache.hadoop.io.compress.GzipCodec
nums.map( x => (NullWritable.get(), new ByteWritable(x)))).saveAsSequenceFile("/yourPath", classOf[GzipCodec])
但是,它给出了以下错误:
error: values saveAsSequenceFile is not a member of Array[ (org.apache.hadoop.io.NullWritable), (org.apache.hadoop.io.ByteWritable)]
您还需要导入这些类(在scala控制台中)。
import org.apache.hadoop.io.NullWritable
import org.apache.hadoop.io.ByteWritable
1条答案
按热度按时间2ekbmq321#
saveassequencefile方法可用于rdd而不是数组。因此,首先需要将数组提升到rdd中,然后才能调用saveassequencefile方法
http://homepage.cs.latrobe.edu.au/zhe/zhenhesparkrddapiexamples.html