【赵强老师】在Spark SQL中读取JSON文件「建议收藏」

【赵强老师】在Spark SQL中读取JSON文件「建议收藏」Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。为什么要学习Spark SQL?如果大家了解Hive的话,应该

【赵强老师】在Spark SQL中读取JSON文件

Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。为什么要学习Spark SQL?如果大家了解Hive的话,应该知道它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!同时Spark SQL也支持从Hive中读取数据。
Spark SQL也能自动解析JSON数据集的Schema,读取JSON数据集为DataFrame格式。读取JSON数据集方法为SQLContext.read().json()。该方法将String格式的RDD或JSON文件转换为DataFrame。

需要注意的是,这里的JSON文件不是常规的JSON格式。JSON文件每一行必须包含一个独立的、自满足有效的JSON对象。如果用多行描述一个JSON对象,会导致读取出错。

  • 需要用到的测试数据:people.json
{"name":"Michael"}
{"name":"Andy", "age":30}
{"name":"Justin", "age":19} 

代码100分

  • 定义路径
代码100分val path ="/root/temp/people.json" 

  • 读取Json文件,生成DataFrame:
val peopleDF = spark.read.json(path) 

  • 打印Schema结构信息
代码100分peopleDF.printSchema()

 【赵强老师】在Spark SQL中读取JSON文件「建议收藏」

  • 创建临时视图
peopleDF.createOrReplaceTempView("people") 

  • 执行查询
spark.sql("SELECT name FROM people WHERE age=19").show

 【赵强老师】在Spark SQL中读取JSON文件「建议收藏」

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9179.html

(0)
上一篇 2023-02-13
下一篇 2023-02-14

相关推荐

  • order by 2是什么意思_order by 优化

    order by 2是什么意思_order by 优化Order by 2表示对要查询的第二个字段进行排序,如下例子: Select number,name From Student Order by 2 #相当于 Select number,name…

    2022-12-22
    144
  • 查看Python安装路径

    查看Python安装路径在编写Python程序时,经常需要知道Python安装的路径。查看Python安装路径非常简单,只需要在控制台中输入:codepython -c “import sys; print(sys.executable)”/code即可。

    2024-09-06
    23
  • win8远程桌面连接 批量管理程序[通俗易懂]

    win8远程桌面连接 批量管理程序[通俗易懂]win8远程桌面连接 批量管理程序远程桌面是微软公司为了便于网络管理员管理维护服务器推出的一项服务。从windows 2000 server版本开始引入,网络管理员时候远程桌面连接器连接到网络任意一…

    2023-02-23
    152
  • Python GUI:快速创建可视化界面

    Python GUI:快速创建可视化界面Python是一种高级编程语言,其功能丰富、易于学习,而且拥有大量的库和框架。其中,GUI(图形用户界面)是Python的一个重要特性,因为它可以让用户更容易地与程序进行交互。Python的GUI库和框架很多,比如Tkinter、wxPython、PyQt等等。本篇文章将以Tkinter为基础,向读者介绍如何在Python中快速创建可视化界面。

    2024-01-31
    87
  • Python字符串连接方法,详解join()

    Python字符串连接方法,详解join()在编写Python程序时,我们经常需要将一个或多个字符串拼接成一个字符串。例如,我们想要拼接一个文件路径,或者生成一个MySQL查询语句。这些场景都要用到字符串连接。

    2024-03-24
    74
  • 什么是并行数据_三人并行时谁为上谁次之

    什么是并行数据_三人并行时谁为上谁次之在本文中,我们将介绍 GraphScope 图交互式查询引擎 GAIA-IR,它支持高效的 Gremlin 语言表达的交互图查询,同时高度抽象了图上的查询计算,具有高可扩展性。

    2023-05-12
    125
  • mysql综合性练习[通俗易懂]

    mysql综合性练习[通俗易懂]题目描述 设定有一个数据库,里面有4张表: 学生表(student) 课程表(course) 成绩表(score) 教师信息表(teacher) 表结构如下: 表一_学生表(student) 属性名数

    2022-12-18
    144
  • ORACLE查询当前执行效率低的sql[通俗易懂]

    ORACLE查询当前执行效率低的sql[通俗易懂]–CPU高的SQL select sql_text from v$sql order by cpu_time desc –逻辑读多的SQL: select * from (select buff…

    2022-12-18
    144

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注