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