scala - 我正在尝试使用收集操作从数据框中读取以下字段,但它抛出了 java NullPointer 异常
问题描述
val db_query="(select
a.id,
conn_owner,
applicationname,
IsDuplicateConnection
from ingestion.connections_metadata
a inner join ingestion.connectionlnk_data b on
a.id=b.connection_id inner join ingestion.application c on
b.application_id = c.id where a.id =23)db_query"
//为此创建df
val dbname= spark.read.format("jdbc")
.option("driver",com.microsoft.sqlserver.jdbc.SQLServerDriver)
.option("url",jdbc:sqlserver://sjmnb008hv.in.com:1433/ompm)
.option("user",MysqlUser)
.option("password", Password)
.option("dbtable", db_query)
.load()
//然后在这个df上应用collect
dbname.collect.foreach{ x=>
var owner_name=x.get(1)
if(x.get(3).toString()=='Y'){
hive_db = hive_db.tolowerCase() + "_"
+ x.get(2).tostring().toLowerCase()
.replace(" ","").replace("-","_")
}
}
所以这里 x.get(3) 将采用 null 值,默认值为 n 这里。
解决方案
推荐阅读
- typescript - 未调用设置方法
- javascript - 如何在 req.body 上保留对象的 __proto__ 原型?
- momentjs - 使用工作周视图更改一周的第一天
- ruby-on-rails - 设计添加电子邮件确认的问题
- web-scraping - 使用 Scrapy 抓取数据时数据重复
- python - 在 Python 3.6 中为 std::vector 类型使用 ctypes 时出错
- powershell - Powershell将文本添加到cvs文件
- ios - 如何从 iOS SDK 中的设备(“照片”)中永久删除 PHAsset?
- java - net.sf.jasperreports.engine.JRException:从 bean 检索字段值时出错:全名。使用 NativeQuery 时
- azure - 您知道如何使用 azure 命令行创建自定义域名吗?