我有一个简单的Spark应用程序来说明我的问题,我想读取mapPartitions
操作符中的hdfs文件,使用SparkContext.textFile
,这样,我就可以读取每个分区中的文件,并使用它来处理partitionIter
看起来我不能使用SparkContext?那么,我该怎么做才能达到我的目的:hdfs文件使用partitionIter。
object SparkTest2 {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("SparkTest")
val sc = new SparkContext(conf)
val rdd = sc.textFile("test1")
rdd.mapPartitions {
partitionIter => {
//Read from HDFS for each partition
//Is it possible to read hdfs files from within executor
Seq("a").toIterator
}
}.collect()
}
}
1条答案
按热度按时间dbf7pr2w1#
恕我直言:通常使用标准的方式(读取驱动程序并使用spark函数传递给执行器)在操作上比以非标准的方式做事情要容易得多。所以在这种情况下(细节有限)将驱动程序上的文件作为dataframe读取并与之连接。
也就是说,您是否尝试过为您的
spark-submit
(或pyspark
)使用--files
选项: