当前位置: 首页 > news >正文

国家部委政府网站群建设工作/网站优化助手

国家部委政府网站群建设工作,网站优化助手,宁波建网站公司,网页升级更新自动更新文章目录 一、读取JSON文件简介二、读取JSON文件案例演示(一)创建JSON文件并上传到HDFS(二)读取JSON文件,创建临时表,进行关联查询1、读取user.json文件,创建临时表t_user2、读取score.json文件…

文章目录

  • 一、读取JSON文件简介
  • 二、读取JSON文件案例演示
    • (一)创建JSON文件并上传到HDFS
    • (二)读取JSON文件,创建临时表,进行关联查询
      • 1、读取user.json文件,创建临时表t_user
      • 2、读取score.json文件,创建临时表t_score
      • 3、关联查询生成新的数据帧
    • (三)利用json()方法将数据集转成数据帧
      • 1、在Spark Shell里交互式完成任务
      • 2、在IDEA里编写Scala程序完成任务


一、读取JSON文件简介

Spark SQL可以自动推断JSON文件的Schema,并将其加载为DataFrame。在加载和写入JSON文件时,除了可以使用load()方法和save()方法外,还可以直接使用Spark SQL内置的json()方法。该方法不仅可以读写JSON文件,还可以将Dataset[String]类型的数据集转为DataFrame。

需要注意的是,要想成功地将一个JSON文件加载为DataFrame,JSON文件的每一行必须包含一个独立有效的JSON对象,而不能将一个JSON对象分散在多行。

二、读取JSON文件案例演示

(一)创建JSON文件并上传到HDFS

创建user.json文件
在这里插入图片描述

{"name": "张三", "gender": "女", "age": 18}
{"name": "李四", "gender": "男", "age": 35}
{"name": "王五", "gender": "女", "age": 24}

上传到HDFS的/input目录
在这里插入图片描述
创建score.json文件
在这里插入图片描述

{"name": "张三", "score": 98}
{"name": "李四", "score": 88}
{"name": "王五", "score": 91}

上传到HDFS的/input目录
在这里插入图片描述

(二)读取JSON文件,创建临时表,进行关联查询

1、读取user.json文件,创建临时表t_user

执行命令:val userdf = spark.read.json(“hdfs://master:9000/input/user.json”)
在这里插入图片描述
查看用户数据帧的内容,执行命令:userdf.show()
在这里插入图片描述
创建临时表t_user,执行命令:userdf.createTempView(“t_user”)
在这里插入图片描述

2、读取score.json文件,创建临时表t_score

执行命令:val scoredf = spark.read.json(“hdfs://master:9000/input/score.json”)
在这里插入图片描述
查看成绩数据帧的内容,执行命令:scoredf.show()
在这里插入图片描述

创建临时表t_score,执行命令:scoredf.createTempView(“t_score”)
在这里插入图片描述

3、关联查询生成新的数据帧

执行命令:val resultdf = spark.sql(“select u.name, u.age, s.score from t_user u inner join t_score s on u.name = s.name”)
在这里插入图片描述
查看结果数据帧的内容,执行命令:resultdf.show()
在这里插入图片描述

(三)利用json()方法将数据集转成数据帧

1、在Spark Shell里交互式完成任务

创建用户数组:执行命令:val userarr = Array(“{‘name’: ‘Mike’, ‘age’: 18}”, “{‘name’: ‘Alice’, ‘age’: 30}”, “{‘name’: ‘Brown’, ‘age’: 38}”)
在这里插入图片描述
基于用户数组创建用户数据集,执行命令:val userds = spark.createDataset(userarr)
在这里插入图片描述
将用户数据集转成用户数据帧,执行命令:val userdf = spark.read.json(userds.rdd)(注意要将数据集转成RDD才能作为json()方法的参数)
在这里插入图片描述
显示用户数据帧的内容,执行命令:userdf.show()
在这里插入图片描述

2、在IDEA里编写Scala程序完成任务

创建Dataset2DataFrame单例对象
在这里插入图片描述

package net.army.sql.day01import org.apache.spark.sql.{Dataset, SparkSession}/*** 功能:利用json()方法将数据集转成数据帧* 日期:2023年06月14日* 作者:梁辰兴*/
object Dataset2DataFrame {def main(args: Array[String]): Unit = {// 设置HADOOP用户名属性,否则本地运行访问会被拒绝System.setProperty("HADOOP_USER_NAME", "root")// 创建或得到SparkSessionval spark = SparkSession.builder().appName("SparkSQLDataSource").master("local[*]").getOrCreate()// 导入隐式转换import spark.implicits._// 创建用户数组val userarr = Array("{'name': 'Mike', 'age': 18}","{'name': 'Alice', 'age': 30}","{'name': 'Brown', 'age': 38}")// 基于用户数组创建用户数据集val userds: Dataset[String] = spark.createDataset(userarr)// 将用户数据集转成用户数据帧val userdf = spark.read.json(userds.rdd)// 显示用户数据帧内容userdf.show()}
}

运行程序,查看结果
在这里插入图片描述

http://www.jmfq.cn/news/4792195.html

相关文章:

  • 最大的批发网站排名/推广文案范文100字
  • 综合型网站建设/种子搜索引擎 磁力天堂
  • 沈阳三好街附近做网站/企业官网首页设计
  • 物流网站怎么做/哪个行业最需要推广
  • 新网站如何做排在前面/开发小程序
  • wordpress发不出邮件/湖南关键词优化品牌价格
  • 程序员做任务的网站/女生学电子商务好吗
  • 网站logo在哪里修改/做关键词推广
  • 做面料那几个网站/盐城seo排名
  • 做网站需要买服务器么/网站死链检测工具
  • 郑州网站建设网站/数字营销包括哪六种方式
  • 网站的流程图/站长综合查询工具
  • 做网站用什么工具/太原seo霸屏
  • 阿里云可以做网站么/如何自己开个网站平台
  • 网页设计与网站开发方向/域名注册信息怎么查
  • 什么网站做任务的q币/最权威的排行榜网站
  • 单位门户网站建设存在问题/百度一下官网网址
  • 网站网页制作公司网站/百度快照怎么看
  • 国家工信部网站域名查询系统/搜索引擎营销的案例
  • 外贸服装网站模板/站长百度
  • 个人网页制作毕业论文/官网排名优化方案
  • 长春做个人网站做不了/全网seo
  • 哪个网站可以做电视背景墙/百度搜索页面
  • 南京 网站设计/宁波网络营销公司
  • 珠海建网站的联系方式/百度推广工具
  • 无锡公司网站制作/百度推广服务
  • 做网站小程序在哪点拉客户/谷歌浏览器下载手机版
  • 网站建设的申请/常用的seo工具推荐
  • 美橙网站产品详情/免费引流推广的方法
  • 51ppt模板网免费/seo站内优化最主要的是什么