json解析 spark_spark读取json文件,并将结果写入mysql数据库

需求:读取json文件,并将结果写入mysql数据库。1. 读取json文件格式如下:{"name":"Michael"}{"name":"Andy", "age":30}{"name":"Justin", “age":19}可以看出第一行数据缺失age。我们首先定义Person样例类:case class Person(name:String, age:Long)读取文件数据:import sp...
摘要由CSDN通过智能技术生成

需求:读取json文件,并将结果写入mysql数据库。

1. 读取json文件

格式如下:

{"name":"Michael"}

{"name":"Andy", "age":30}

{"name":"Justin", “age":19}

可以看出第一行数据缺失age。

我们首先定义Person样例类:

case class Person(name:String, age:Long)

读取文件数据:

import spark.implicits._

val df: Dataset[Person] = spark.read.json("/Users/fred/Desktop/data/data_spark/people.json").as[Person]

此处文件地址即为people.json文件存放的地址,替换成自己的即可。

打印出来可以看到df.show():

+----+-------+

| age| name|

|null|Michael|

| 30| Andy|

| 19| Justin|

如果将该结果直接存入mysql数据库,会报错,因为第一行age为空。因此,我们需要将null替换为一个无意义数字,在满足mysql插入语句的同时,也便于日后进行分析。

val df1 = df.na.fill(-1, Seq("age"))

df1.show()

打印结果&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值