引言
自动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相关推荐

  1. Spark常用RDD算子 - saveAsTextFile、saveAsObjectFile 可保存到本地文件或hdfs系统中

    saveAsTextFile 函数原型 def saveAsTextFile(path: String): Unit def saveAsTextFile(path: String, codec: C ...

  2. Python+大数据-Spark技术栈(二)SparkBaseCore

    Python+大数据-Spark技术栈(二)SparkBase&Core 学习目标 掌握SparkOnYarn搭建 掌握RDD的基础创建及相关算子操作 了解PySpark的架构及角色 环境搭建 ...

  3. spark读取csv转化为rdd(python+scala+java三种代码汇总)

    --------------------------------------------------------------------基本信息---------------------------- ...

  4. 3 pyspark学习---sparkContext概述

    1 Tutorial Spark本身是由scala语言编写,为了支持py对spark的支持呢就出现了pyspark.它依然可以通过导入Py4j进行RDDS等操作. 2 sparkContext (1) ...

  5. Spark源码分析之SparkContext

    SparkContext是用户和Spark集群交互的唯一入口,它的主要是有两个: # 可以用来创建RDD,累加器和广播变量 # 初始化应用程序所需要的核心组件,为应用程序准备运行环境 只可以有一个Sp ...

  6. An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.

    最近公司上云,所有大数据环境都迁移到云上.在进行项目迁移时候发现运行报错 py4j.protocol.Py4JJavaError: An error occurred while calling No ...

  7. ERROR SparkContext: Error initializing SparkContext. org.apache.spark.SparkException: Could not pars

    ERROR SparkContext: Error initializing SparkContext. org.apache.spark.SparkException: Could not pars ...

  8. Go 学习笔记(47)— Go 标准库之 strconv(string/int 互相转换、Parse 字符串转换为指定类型、Format 指定类型格式化为字符串)

    参考: http://c.biancheng.net/view/5112.html 在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string . int . int64 . float ...

  9. 将Byte数组转化为String

    FCL得很多方法的返回值都是包含字符的Byte数组而不是返回一个String,这样的方法包含在如下的类中: · System.Net.Sockets.Socket.Receive · System.N ...

最新文章

  1. 第二批重磅嘉宾已就位,邀你共探AI行业新机遇 | MEET2022智能未来大会
  2. drawboard pdf拆分文件_电脑在线如何分割PDF页面?免费分割3M以内PDF文件页面的简单方法...
  3. HelloWorld 和相关设置
  4. 你这么爱听歌,一定活得很难过吧 | 今日最佳
  5. 计算机需要会那些英语翻译,计算机专业英语翻译
  6. fcntl.h里没有open_国际高中课程里的IB课程 你了解多少?
  7. archlinux i3wm通知管理
  8. 是什么导致了脸上的痤疮呢?
  9. Linux新手需要熟稔于心的Linux常用命令
  10. PDF文件如何加密?分享两种好用方法
  11. 性能之颠-应用程序性能技术
  12. 【pkgs.org】linux/uinx依赖包源网站推荐+如何添加该网站到debian源
  13. Kafka 2.8.0 正式发布,增加了哪些新特性?
  14. eNSP配置VLAN
  15. 基于单片机射频RFID卡公司考勤控制系统设计(毕设课设资料)
  16. win10如何设置pdf默认打开方式
  17. 一些关于HTML与CSS的总结与实际应用
  18. 你是怎样度过自己一生的?
  19. Android 关于NBA项目 SprintNBA
  20. oppor11点击android版本,(周末回归)oppor11旧手机REC教程更新

热门文章

  1. flask创建mysql表_MySQL表不是使用Flask和PyMySQL创建的
  2. 详解 Linux环境中DHCP分配IP地址(实验详解)
  3. 在Socket做服务器,在手机上用Http访问
  4. JSP关于用户安全退出的问题
  5. excel怎么添加diy工具箱_一秒生成工资条,你知道怎么做嘛?(一)
  6. markdown 流程图js_MarkDown 流程图示例
  7. vs code 开发企业级python_基于VS Code配置Python开发环境
  8. 12v小型电机型号大全_伊藤8KW静音柴油发电机YT8100T型号规格
  9. 批量梯度下降 linux,梯度下降的三种形式BGD,SGD,MBGD(MSGD)
  10. lisp的vla函数画矩形_python之:tkinter画哆啦A梦