我有一个需求,我需要创建一个序列文件。现在我们已经在hadoop api之上编写了自定义api,但是由于我们在spark中移动,我们必须使用spark来实现相同的功能。这可以使用spark dataframes来实现吗?
kkih6yb81#
请尝试/思考以下内容(这是Dataframe风格的rdd,灵感来自 SequenceFileRDDFunctions.scala &方法 saveAsSequenceFile )在下面的示例中:(键,值)对的RDD上提供了额外的函数,可以通过隐式转换创建hadoop sequencefile。
SequenceFileRDDFunctions.scala
saveAsSequenceFile
import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.rdd.SequenceFileRDDFunctions import org.apache.hadoop.io.NullWritable object driver extends App { val conf = new SparkConf() .setAppName("HDFS writable test") val sc = new SparkContext(conf) val empty = sc.emptyRDD[Any].repartition(10) val data = empty.mapPartitions(Generator.generate).map{ (NullWritable.get(), _) } val seq = new SequenceFileRDDFunctions(data) // seq.saveAsSequenceFile("/tmp/s1", None) seq.saveAsSequenceFile(s"hdfs://localdomain/tmp/s1/${new scala.util.Random().nextInt()}", None) sc.stop() }
更多信息请参见。。how-to-write-dataframe-get-from-hive-table-into-hadoop-sequencefile-and-r序列文件
1条答案
按热度按时间kkih6yb81#
afaik除了下面的方法外,dataframe中没有直接可用的本机api
请尝试/思考以下内容(这是Dataframe风格的rdd,灵感来自
SequenceFileRDDFunctions.scala
&方法saveAsSequenceFile
)在下面的示例中:(键,值)对的RDD上提供了额外的函数,可以通过隐式转换创建hadoop sequencefile。
更多信息请参见。。
how-to-write-dataframe-get-from-hive-table-into-hadoop-sequencefile-and-r
序列文件