SparkContext转化为JavaSparkContext
引言
自動(dòng)Spark2.0發(fā)布以來,官方最開始推薦的代碼由
final SparkConf conf = new SparkConf().setMaster("local").setAppName("---");
final JavaSparkContext ctx = new JavaSparkContext(conf);
這種形式轉(zhuǎn)化成為了
SparkSession spark = SparkSession
? ? ? ? ? ? ? ? .builder()
? ? ? ? ? ? ? ? .master("local")
? ? ? ? ? ? ? ? .appName("---")
? ? ? ? ? ? ? ? .getOrCreate();
這種形式,但是這樣對(duì)于Java程序員有一定問題。
問題
當(dāng)我們使用Java語言進(jìn)行編程的時(shí)候,尤其是需要對(duì)文本文件進(jìn)行textFile讀取的時(shí)候,容易產(chǎn)生類型錯(cuò)誤,這樣的原因是因?yàn)橛缮厦娲a實(shí)例化的spark調(diào)用sparkContext()方法獲取的context對(duì)象是scala的SparkContext對(duì)象,而不是我們最開始的手動(dòng)方法獲取的JavaSparkContext對(duì)象。?
所以,當(dāng)我們調(diào)用textFile方法的時(shí)候,返回的數(shù)據(jù)類型為RDD而不是JavaRDD。
解決方法
JavaRDD<String> text =?
? ? ? ? JavaSparkContext.fromSparkContext(spark.sparkContext())
? ? ? ? .textFile("path");
?
總結(jié)
以上是生活随笔為你收集整理的SparkContext转化为JavaSparkContext的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TasksetManager冲突导致Sp
- 下一篇: Java Spark之创建RDD的两种方