大数据课程K22——Spark的SparkSQL的API调用

news2024/11/25 5:51:04

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 掌握Spark的通过api使用SparkSQL;

一、通过api使用SparkSQL

1. 实现步骤

1. 打开scala IDE开发环境,创建一个scala工程。

2. 导入spark相关依赖jar包。

3. 创建包路径以object类。

4. 写代码。

5)打jar包,并上传到linux虚拟机上

6)在spark的bin目录下

执行:sh spark-submit --class cn.tedu.sparksql.Demo01 ./sqlDemo01.jar

7)最后检验

2. 代码示例

package cn.tedu.sparksql

import org.apache.spark.SparkConf

import org.apache.spark.SparkContext

import org.apache.spark.sql.SQLContext

object Demo01 { 

  def main(args: Array[String]): Unit = {

    val conf=new SparkConf().setMaster("spark://hadoop01:7077").setAppName("sqlDemo01");

    val sc=new SparkContext(conf)

    val sqlContext=new SQLContext(sc)   

    val rdd=sc.makeRDD(List((1,"zhang"),(2,"li"),(3,"wang")))   

    import sqlContext.implicits._

    val df=rdd.toDF("id","name")

    df.registerTempTable("tabx")   

    val df2=sqlContext.sql("select * from tabx order by name");

    val rdd2=df2.toJavaRDD;

    //将结果输出到linux的本地目录下,当然,也可以输出到HDFS上

    rdd2.saveAsTextFile("file:///home/software/result");

  }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/977988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

介绍 dubbo-go 并在Mac上安装,完成一次自己定义的接口RPC调用

目录 RPC 远程调用的说明作用:像调用本地方法一样调用远程方法和直接HTTP调用的区别:调用模型图示: Dubbo 框架说明Dubbo Go 介绍应用 Dubbo Go环境安装(Mac 系统)安装 Go语言环境安装 序列化工具protoc安装 dubbogo-c…

【VSCode】文件模板创建及使用.md

背景 最近使用VSCode学习Vue项目比较频繁,每次创建Vue文件都要手动写重复代码,特别麻烦,就上网查找自动生成代码的说明,结果发现VSCode有代码模板,怪怪,感觉发现新大陆了(low!)。 配置 打开配置 方式一&a…

通过slam同步建图程序看ros2节点参数传递生效顺序

缘起: ros2 节点参数可以通过启动节点添加,也可以通过launch文件添加,还可以通过配置文件.yaml文件添加,或者是几种方式套用添加,给初学者带来很大的困惑具体是哪个生效了呢,我们拿slam_toolbox 包的onli…

shell脚本介绍

当你进入Linux世界的大门时,就会遇到一个强大而又神奇的工具——Shell。Shell是一种命令行解释器,为你在Linux系统中与计算机进行互动提供了无限的可能性。 学习Shell可以让你获得强大的自动化和脚本编程能力,让你更高效地处理文件和目录、管…

【力扣周赛】第 357 场周赛(⭐反悔贪心)

文章目录 竞赛链接Q1:6925. 故障键盘解法1——直接模拟解法2——双端队列 Q2:6953. 判断是否能拆分数组(贪心)Q3:2812. 找出最安全路径⭐解法1——多源BFS瓶颈路模型?解法2——多源BFS 倒序枚举答案 并查…

Vue + Element UI 实现权限管理系统 前端篇(四):优化登录流程

完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面&#xff0c;放置一个登录界面表单&#xff0c;包含账号密码输入框和登录重置按钮。 <template><el-form :model"loginForm" :rules"fieldRules" ref"loginFo…

数字图像处理:亮度对比度-几何变换-噪声处理

文章目录 数字图像增强亮度与对比度转换几何变换图像裁剪尺寸变换图像旋转 噪声处理添加噪声处理噪声 数字图像增强 亮度与对比度转换 图像变换可分为以下两种&#xff1a; 点算子&#xff1a;基于像素变换&#xff0c;在这一类图像变换中&#xff0c;仅仅根据输入像素值计算…

真随机数生成器TRNG外设模块详解

真随机数生成器TRNG外设模块详解 文章目录 真随机数生成器TRNG外设模块详解简介原理与机制应用要点时钟源中断源初始化数据 软件支持 简介 国产车规微控制器原厂云途半导体设计和发售的YTM32ME微控制器上集成的真随机数生成器TRNG&#xff08;True Random Number Generator&am…

01_TMS320F28004x系列MCU介绍和资料搜集

1. TI C2000 实时微控制器 TI公司在处理器方面的产品线有&#xff1a;基于ARM内核的微控制器/微处理器、MSP430微控制器、C2000系列实时微控制器、还有数字信号处理器&#xff08;DSP&#xff09;。 其中&#xff0c;C2000是TI公司专门针对实时控制推出的32位微控制器。TI公司…

继承(个人学习笔记黑马学习)

1、基本语法 #include <iostream> using namespace std; #include <string>//普通实现页面//Java页面 //class Java { //public: // void header() { // cout << "首页、公开课、登录、注册...(公共头部)" << endl; // } // void footer() …

IDEA爪哇操作数据库

少小离家老大回,乡音无改鬓毛衰 ⒈.IDEA2018设置使用主题颜色 IDEA2018主题颜色分为三种&#xff1a;idea原始颜色&#xff0c;高亮色&#xff0c;黑色 设置方法&#xff1a;Settings–Appearance&Behavior–Appearance ⒉.mysql中&#xff0c;没有my.ini&#xff0c;只有…

计算机视觉中的自监督学习

如何只使用少量标记示例来训练模型&#xff1f; 到目前为止&#xff0c;人工智能所提供的大部分价值都来自于在日益庞大的数据集上训练的监督模型。其中许多数据集都是由人类标记的&#xff0c;这是一项枯燥、耗时、容易出错&#xff0c;有时还很昂贵的工作。自监督学习&#x…

JVM基础面试题

JDK、JRE、JVM的关系 JVM Java虚拟机&#xff0c;它只识别.class类型文件&#xff0c;它能将class文件中的字节码指令进行识别并调用操作系统向上的API完成动作。 JRE Java运行时环境。它主要包含两部分&#xff1a;Jvm的标准实现和Java的一些基本类库。相对于JVM来说,JRE多出来…

【狂神】SpringMVC笔记(一)之详细版

1.Restful 风格 概念&#xff1a; 实现方式&#xff1a; 使用PathVariable 在url相同的情况下&#xff0c;会根据请求方式的不同来执行不同的方法。 使用RestFull风格的好处&#xff1a;简洁、高效、安全 2、接受请求参数及数据回显 2.1、请求参数 方式一&#xff1a;这里…

无涯教程-JavaScript - TIME函数

描述 TIME函数返回特定时间的十进制数。如果在输入功能之前单元格格式为"常规",则输出格式为日期。 TIME返回的十进制数是一个介于0(零)到0.99988426之间的值,代表从0:00:00(12:00:00 AM)到23:59:59(11:59:59 P.M.)的时间。 语法 TIME (hour, minute, second)争论…

Android studio 调整jar包顺序

第一步&#xff1a;编译jar包&#xff0c;放入lib路径下&#xff1a;如&#xff1a; 第二步&#xff1a;app 目录下build.gradle 中添加 compileOnly files(libs/classes.jar) 第三步&#xff1a;project目录下build.gradle 中添加 allprojects {gradle.projectsEvaluated {t…

十四、MySQL(DCL)如何实现用户的简单管理?配置用户?

1、DCL语句&#xff1a; 要学习DCL语言&#xff0c;就要清楚DCL语言是用来干什么的&#xff0c;首先DCL语言英文全称是Data Control Language&#xff0c;是数据控制语言&#xff0c;主要用来管理数据库用户、控制数据库的访问权限/ 2、DCL的基础语法&#xff1a; &#xff08;…

SpringBoot项目启动时预加载

SpringBoot项目启动时预加载 Spring Boot是一种流行的Java开发框架&#xff0c;它提供了许多方便的功能来简化应用程序的开发和部署。其中一个常见的需求是在Spring Boot应用程序启动时预加载一些数据或执行一些初始化操作。 1. CommandLineRunner 和 ApplicationRunner Spri…

垃圾回收 - 标记压缩算法

压缩算法是将标记清除算法与复制算法相结合的产物。 1、什么是标记压缩算法 标记压缩算法是由标记阶段和压缩阶段构成。 首先&#xff0c;这里的标记阶段和标记清除算法时提到的标记阶段完全一样。 接下来我们要搜索数次堆来进行压缩。压缩阶段通过数次搜索堆来重新填充活动对…

mtbatisplus

title: mybatis_plus date: 2023-09-03 21:06:27 tags: mybatis_plusreviews 约定大于配置 默认 当我们要使用mybatisplus的时候 我们需要去集成mp提供的BaseMapper public interface UserMapper extends BaseMapper 关于mybatisplus常用注解 注解到类上 TableName(“表…