实验5 Spark SQL 编程初级实践

2023-11-08

实验5 Spark SQL 编程初级实践

一、实验目的
(1)通过实验掌握Spark SQL的基本编程方法。
(2)熟悉RDD到DataFrame的转化方法。
(3)熟悉利用Spark SQL管理来自不同数据源的数据。

二、实验平台
操作系统:Linux
Spark版本:2.4.5
scala版本:2.11.8

三、实验内容和要求
1.Spark SQL基本操作
将下列JSON格式数据复制到Linux系统中,并保存命名为employee.json。

文件内容如下:

{ "id":1 , "name":" Ella" , "age":36 }
{ "id":2 , "name":"Bob","age":29 }
{ "id":3 , "name":"Jack","age":29 }
{ "id":4 , "name":"Jim","age":28 }
{ "id":4 , "name":"Jim","age":28 }
{ "id":5 , "name":"Damon" }
{ "id":5 , "name":"Damon" }

为employee.json创建DataFrame,并写出Scala语句完成下列操作:

 //导入相应的包
 import spark.implicits._
 //读取文件
 val df=spark.read.json("hdfs://master1:9000/spark/employee.json")

(1)查询所有数据;

 df.show()


(2)查询所有数据,并去除重复的数据;

 df.distinct.show()

在这里插入图片描述
(3)查询所有数据,打印时去除id字段;

	 df.drop("id").show()

在这里插入图片描述

(4)筛选出age>30的记录;

 df.filter(df("age")>30).show()

在这里插入图片描述
(5)将数据按age分组;

df.groupBy("age").count.show() 

在这里插入图片描述
(6)将数据按name升序排列;

 df.orderBy("name").show()
 或者
 df.sort(df("name").asc).show()

在这里插入图片描述在这里插入图片描述
(7)取出前3行数据;

 df.take(3)
 df.limit(3).show

在这里插入图片描述

(8)查询所有记录的name列,并为其取别名为username;

df.select(df("name").as("username")).show()

在这里插入图片描述

(9)查询年龄age的平均值;

 df.agg("age"->"avg").show()

在这里插入图片描述

(10)查询年龄age的最小值。

 df.agg("age"->"min").show()

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实验5 Spark SQL 编程初级实践 的相关文章

  • Spark广播变量与累加器

    在之前的文章中 我介绍了flink广播状态 从而了解了flink广播状态实际上就是将一个流广播到下游所有算子之中 在本文中我将介绍spark中类似的概念 为了方便理解 先放张spark应用程序架构图 1 普通spark变量 实际上 如果我们
  • windows下安装spark及hadoop

    windows下安装spark 1 安装jdk 2 安装scala 3 下载spark spark下载地址 3 1安装spark 将下载的文件解压到一个目录 注意目录不能有空格 比如说不能解压到C Program Files 作者解压到了这
  • Spark基础知识(个人总结)

    声明 1 本文为我的个人复习总结 并非那种从零基础开始普及知识 内容详细全面 言辞官方的文章 2 由于是个人总结 所以用最精简的话语来写文章 3 若有错误不当之处 请指出 一 Spark概述 Spark模块 Core SQL Streami
  • SparkSession和sparkSQL

    一 概述 spark 有三大引擎 spark core sparkSQL sparkStreaming spark core 的关键抽象是 SparkContext RDD SparkSQL 的关键抽象是 SparkSession Data
  • 【pyspark】DataFrame基础操作(二)

    介绍一下 pyspark 的 DataFrame 基础操作 一 选择和访问数据 PySpark DataFrame 是惰性计算的 简单地选择一列不会触发计算 但它会返回一个 Column 实例 并且 大多数按列操作都返回 Column 实例
  • 重新定义分析 - EventBridge 实时事件分析平台发布

    对于日志分析大家可能并不陌生 在分布式计算 大数据处理和 Spark 等开源分析框架的支持下 每天可以对潜在的数百万日志进行分析 事件分析则和日志分析是两个完全不同的领域 事件分析对实时性的要求更高 需要磨平事件领域中从半结构化到结构化的消
  • 广电用户画像分析之根据用户行为数据进行筛选与标签添加

    在数据处理和分析领域 我们经常需要根据用户的行为数据进行筛选和标签添加 以便更好地理解用户行为和偏好 在本篇博客中 我们将介绍两个示例 展示如何根据用户的收视行为数据和订单信息进行数据处理和分析 前情提要 数据集分析 广电用户画像分析之探索
  • 大数据相关常用软件下载地址集锦

    文章目录 每日一句正能量 前言 一 软件下载地址如下 二 文档地址如下 结语 每日一句正能量 生命中有一些人与我们擦肩了 却来不及遇见 遇见了 却来不及相识 相识了 却来不及熟悉 熟悉了 却还是要说再见 前言 由于大数据开发中经常需要用到Z
  • dolphinschedule使用shell任务结束状态研究

    背景 配置的dolphin任务 使用的是shell shell里包含了spark submit 如下截图 dolphin shell 介绍完毕 开始说明现象 有天有人调整了集群的cdp配置 executor cores max 1 我之前这
  • spark报Got an error when resolving hostNames. Falling back to /default-rack for all

    一 报错代码如下 21 06 01 20 13 36 INFO yarn SparkRackResolver Got an error when resolving hostNames Falling back to default rac
  • spark-submit 报错 Initial job has not accepted any resources

    spark submit 报这样的错误 WARN scheduler TaskSchedulerImpl Initial job has not accepted any resources check your cluster UI to
  • spark中repartition和coalesce的区别

    总的来讲 两者 对是否允许shuffle 不同 coalesce numPartitions shuffle false repartition numPartitions repartition 其实是 coalesce 中参数shuff
  • Hudi和Kudu的比较

    与Kudu相比 Kudu是一个支持OLTP workload的数据存储系统 而Hudi的设计目标是基于Hadoop兼容的文件系统 如HDFS S3等 重度依赖Spark的数据处理能力来实现增量处理和丰富的查询能力 Hudi支持Increme
  • spark_hadoop集群搭建自动化脚本

    bin bash 脚本使用说明 1 使用脚本前需要弄好服务器的基础环境 2 在hadoop的每个节点需要手动创建如下目录 data hdfs tmp 3 修改下面的配置参数 4 脚本执行完备后需要收到格式化namenode
  • 学习笔记-Spark环境搭建与使用

    一 20 04 Ubuntu安装 清华源ISO源 https mirrors tuna tsinghua edu cn ubuntu releases 20 04 下载链接 https mirrors tuna tsinghua edu c
  • spark groupByKey和groupBy,groupByKey和reduceByKey的区别

    1 groupByKey Vs groupBy 用于对pairRDD按照key进行排序 author starxhong object Test def main args Array String Unit val sparkConf n
  • 2020-10-24 大数据面试问题

    上周面试数据开发职位主要从公司的视角讲一下记录下面试流水 1 三面技术一轮hr 面到了cto 整体来看是这一周技术含量最高信息量最大的一个 1到4轮过了4个小时 技术上的问题主要问的对数据分层的理解 1 一面自我介绍 目前团队的规模多大 2
  • sparkstreamming 消费kafka(1)

    pom
  • Spark Sql之dropDuplicates去重

    文章目录 算子介绍 示例 问题 解决 dropDuplicates和distinct 参考 算子介绍 dropDuplicates去重原则 按数据行的顺序保留每行数据出现的第一条 dropDuplicates 在Spark源码里面提供了以下
  • 2023_Spark_实验二十九:Flume配置KafkaSink

    实验目的 掌握Flume采集数据发送到Kafka的方法 实验方法 通过配置Flume的KafkaSink采集数据到Kafka中 实验步骤 一 明确日志采集方式 一般Flume采集日志source有两种方式 1 Exec类型的Source 可

随机推荐

  • 多线程(三)Thread 类及常见方法

    目录 一 Thread类的几个属性 属性 状态 getState 属性 ID和Name getId 和getName 属性 优先级 getPriority 属性 是否守护线程 isDaemon 属性 是否存活 isAlive 二 启动一个线
  • Jetbrains实用技巧汇总

    Jetbrains Tools 关闭 vim模式 菜单栏 tools gt vim emulator Jetbrains Tools 在启动时取消 打开最近关闭的项目 Settings gt System Settings取消勾选 Reop
  • MongoDB未授权访问漏洞验证与修复过程

    环境 Windows MongoDB3 2 文章目录 一 漏洞验证 1 使用MSF验证 2 使用nmap验证 二 修复 1 寻找配置文件mongod cfg Windows下 2 在 network interfaces 下插入以下代码 三
  • STC8--休眠唤醒

    0 休眠有两种 空闲模式和掉电模式 空闲模式是CPU不再运行 其他外设运行 掉电模式是所有设备不再运行 后者更省电 两种模式都通过PCON来设置 B0位置1进入空闲模式 B1位置1进入掉电模式 1 关于休眠后的唤醒 有两类 第一类是利用IN
  • qt creator编译报错:parse error

    qt creator编译报错 parse error 利用qt creator编译qt工程时 出现报错信息parse error 出现错误的文件是pri文件 出现这种错误 一般是pro或pri出现了语法错误 经过检查 发现我的报错原因是pr
  • 日语操作系统安装日语软件乱码的解放方案

    1 打开控制面板 時計 地域 地域 地域 管理 Unicode対応 言語 日本語 日本 按照以上步骤 既可解决日语系统 安装日语软件乱码的问题
  • CreateProcess error=740, 请求的操作需要提升

    再用Java程序启动本地程序时有时会出现CreateProcess error 740 请求的操作需要提升 这样的异常 此异常为Java程序权限不足以调动需要启动的程序 解决方法 用管理员方式启动IED工具 并运行程序
  • C#图书管理系统

    大二 C 程序设计 课程设计项目 包含完整 源码 设计文档 测试数据 答辩PPT 仅供参考 文章目录 登录 系统管理员 图书借阅 登录 系统管理员 图书借阅
  • (GCC)STM32CubeMX中s启动文件详解

    本文所使用工程由STM32CubeMX生成 使用芯片 STM32F103ZET6 基本只开了时钟 s文件内容如下 C COPYRIGHT 2017 STMicroelectronics file startup stm32f103xe s
  • lvds传输距离标准_带你了解LVDS技术

    LVDS Low Voltage Differential Signaling 低电压差分信号技术 一种定义了高速数据传输接口电路电气特性的通用技术标准 而非协议 因为协议是特定于应用程序的 LVDS标准工作组选择仅定义驱动器和接收器的电气
  • 【Web3】 Web3JS Pay Api

    Web3Network eth sendSignedTransaction serializedTx 参数 from String Number 发送帐户的地址 如果未指定 则使用web3 eth defaultAccount属性 或web
  • 菌群多样性分析报告

    参考链接https www docin com p 2107733531 html 在开始实验项目之前 明确实验流程 一步一步获取实验结果 以可视化工具展现结果 并加以生物学意义上的分析 获取完整的分析报告 下面给出菌群多样性分析报告中应包
  • 基于深度相机的三维重建技术

    本文转载自http www bugevr com zblog id 14 原创作者bugeadmin 转载至我的博客 主要是为了备份 日后查找方便 谢谢原创作者的分享 三维重建 3D Reconstruction 技术一直是计算机图形学和计
  • [Spring学习]07 Spring AOP面向切面编程

    目录 一 什么是Aop 二 Aop相关术语 三 Aop的优点 一 什么是Aop OOP Object Oriented Programming 面向对象编程 AOP Aspect Oriented Programming 面向切面编程 OO
  • conda下多环境(environment)及spyder jupyter lab配置

    结论速递 借助conda进行多environment环境管理 并且这些enviroment都可以共用IDE spyder以及jupyter lab 由于python迭代很快 需要注意的是本文记录时间是2021 8 10 系统是Windows
  • 8.Docker容器镜像仓库存储原理(前世今身)与搬运技巧

    文章目录 0x00 镜像如何炼成 1 OCI 标准协议 image spec 镜像规范 runtime spec 运行时规范 distribution spec 镜像仓库规范 2 Dockerfile 3 基础镜像 0x01 镜像存储原理
  • Js逆向之某股打新网(返回数据AES加密)

    目标网站 aHR0cHM6Ly93d3cubGlhbmdodWFpcG8uY29tLyMv 1 抓包分析 F12 那么接下来就是找加密的位置了 这里先提供两个思路 1 简单看了一下data数据 发现有点像base64 大部分加密都会经过这个
  • LINUX查询服务器对应端口的实际服务器信息

    1 通过端口查询进程ID netstat anp grep 8080 2 通过进程ID查询启动密令 ps ef grep 进程ID 3 查看启动命令查询是否为代理 如果是代理 通过cat查看实际的服务器IP ProxyPass http 1
  • UML之一综合设计例题

    某汽车租赁连锁公司计划开发一套信息系统 主要需求如下 1 客户可以通过不同的方式 包括电话 前台 网上 预定车辆 2 系统能够保存客户的预定申请单 3 系统能够保存客户的历史记录 4 工作人员可以处理客户申请 5 技术人员可以保存对车辆检修
  • 实验5 Spark SQL 编程初级实践

    实验5 Spark SQL 编程初级实践 一 实验目的 1 通过实验掌握Spark SQL的基本编程方法 2 熟悉RDD到DataFrame的转化方法 3 熟悉利用Spark SQL管理来自不同数据源的数据 二 实验平台 操作系统 Linu