Spark Jdbc报NullPointerException_spark nullpoint-程序员宅基地

技术标签: Java  streaming  postgresql  spark  jdbc  Spark  日志  大数据  

问题描述:

运行使用Spark Jdbc读取postgresql程序报错:

Exception in thread "main" java.lang.NullPointerException

at java.util.Hashtable.put(Hashtable.java:460)

at java.util.Properties.setProperty(Properties.java:166)

at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.$anonfun$asProperties$(JDBCOPtions.scala:51)

...

at scala.Option.getOrElse(Option.scala:189)

at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:307)

...

代码:

spark.read()

.format("jdbc")

.option("url", url)

.option("query", query)

.option("dbtable", dbtable)

...

.load();//报错定位到这行代码

解决方法:

不要个option设置null值,如:

reader = spark.read()

.format("jdbc")

.option("url", url);

if(query != null) {

        reader.option("query", query)

}

if(dbtable != null) {

        reader.option("dbtable", dbtable)

}

...

reader.load();

因为JDBC query和dbtable配置项不能同时指定,有一个值设置为了null.使用option设置null值就报错了.错误代码定位在了reader.load()方法,错误不好排查

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tianlangstudio/article/details/121514260

智能推荐

刚刚拿下银行测试岗offer的我,总结了几点面试经验_银行测试岗位累吗-程序员宅基地

文章浏览阅读1.3k次。【1】你有两个罐子,每个罐子各有若干红色弹球和蓝色弹球,两个罐子共有50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机从中选取出一个弹球,要使取出的是红球的概率最大,一开始两个罐子应放几个红球,几个蓝球?在你的计划中,得到红球的准确几率是多少?答案:一个罐子放1红,一个罐子放49红和50蓝,这样得到红球的概率接近3/4。【2】对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关……问:最后.._银行测试岗位累吗

解决git push错误:failed to push some refs to git_failed to push some refs to '' hint: updates were -程序员宅基地

文章浏览阅读858次。解决git push错误:failed to push some refs to git一、错误信息XXXXX MINGW64 /e/gitProjects/myDemoPro (master)$ git push origin masterTo [email protected]:XXXXX/myDemoPro.git! [rejected] master -..._failed to push some refs to '' hint: updates were rejected because the tip o

云评测 | 开发者最有用的开源云监控工具有哪些呢? 这7款神器总有一款适合你!...-程序员宅基地

文章浏览阅读366次。戳蓝字“CSDN云计算”关注我们哦!整理 | 刘丹云计算作为IT基础设施的交付和使用模式,通过网络以按需、易扩展的方式获得所需的资源。而云平台聚集了大量软硬件资源,并采..._云产品用的工具

基于java火车购票系统_java车票预订系统-程序员宅基地

文章浏览阅读314次。设计了一个火车购票系统,本系统介绍了火车票的购买方式,以及一些他的实现功能,并对于系统进行了详细的分析,说明了协同的设计思路。本系统的开发是基于B/S结构设计的,采用了Java语言程序技术,JSP语言设计,以及MySQL数据相结合来设计的。系统主要包括前台和后台,前边是个用户购买车票的,后台是专门用于管理火车信息的,本系统在经过测试和分析中,表现出了运行稳定、可靠和实用等特性,具有一定的实用价值。随着全国的计算机发展和铁路的飞速行进,人民的出行越来越方便,对于出行工具的也提出了更加先进的要求;_java车票预订系统

Python3.8安装dlib(anaconda虚拟环境下)_在pytorch中虚拟环境中怎么安装dlip-程序员宅基地

文章浏览阅读3.3k次,点赞22次,收藏26次。anaconda 安装dlib, 附带下载地址_在pytorch中虚拟环境中怎么安装dlip

pycharm如何将函数名及函数参数高亮_pycharm 选中块高亮-程序员宅基地

文章浏览阅读1.3w次,点赞6次,收藏17次。一、pycharm 如何设置函数调用字体颜色1.打开pycharm编辑器,file > settings > editor > color scheme > python > function call_pycharm 选中块高亮

随便推点

[Unity优化]UWA性能诊断与优化_uwa lup cpu耗时-程序员宅基地

文章浏览阅读3k次。[Unity优化]UWA性能诊断与优化UWA直播笔记UWA:UWA 视频总体性能趋势1、CPU性能占用①项目运行过程中高于33ms的帧数占比推荐值2、GC调用①调用频率 ( 帧/次 ):GC触发调用频率推荐值>1000帧/次,GC触发得越快,即项目运行时卡顿次数越多。3、渲染模块性能①Drawcall 峰值:项目中Draw Call峰值推荐值②_uwa lup cpu耗时

json与xml格式的互转_js怎么把json转换为xml-程序员宅基地

文章浏览阅读2.3k次。/** * JsonObject转换成xml * * @param json * @return */ public static String JsonBean2XmlString(JSONObject json){ System.out.println("JsonBean转换成xml:"); Sy..._js怎么把json转换为xml

​一个参数一张Excel表,玩转Pandas的read_excel()表格读取-程序员宅基地

文章浏览阅读2.4k次。作者 |黄伟呢来源 |数据分析与统计学之美我觉得很有必要讲述这个文章,进行数据处理的第一步就是Python数据读取。但是你可能没想到,在进行数据读取的同时,我们其实可以配合相关参数做..._利用 read excel 函数读取 healthcare-dataset-stroke.xlsx 表(2)利用 read excel

POI 实现Word表格合并单元格(行合并)_poi生成word 合并单元格内容-程序员宅基地

文章浏览阅读6k次。1 Maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.7</version> </dependency> <dependency>_poi生成word 合并单元格内容

Mac 终端拷贝文件到指定目录_mac终端文件存放到本地-程序员宅基地

文章浏览阅读2.5w次,点赞3次,收藏9次。Mac 终端拷贝文件到指定目录终端输入:sudo cp -r 源文件地址 目标地址然后输入密码_mac终端文件存放到本地

给android添加系统属性:Settings.system和SystemProperties_那么我们可以仿照settings.system.scrren_off_timeout这个系统设置的方-程序员宅基地

文章浏览阅读4.7k次。SystemProperties與Settings.System 1 使用 SystemProperties.get如果属性名称以“ro.”开头,那么这个属性被视为只读属性。一旦设置,属性值不能改变。 如果属性名称以“persist.”开头,当设置这个属性时,其值也将写入/data/property。 在c++中就是对应JAVA的两个函数就是property_set, p_那么我们可以仿照settings.system.scrren_off_timeout这个系统设置的方式来新建一

推荐文章

热门文章

相关标签