SparkSQL

大数据之spark_spark SQL的建表语句 1.通过RDD+case class创建DataFrame package com.doit.spark.day10 import org.apache.spark.rdd.RDD import org.apache.spark.sql.{DataFrame, SparkSession} object CaseClassCreateDataFrame { def main(args: Array[String]): Unit = { //构建SparkSession val spar 阅读详情

1.Hive:

表的类型:内部表、外部表、临时表、分区表(动态、静态)分桶表

创建各种表的关键字:
外部表:external
临时表:TEMPORARY
分区表:partitioned by (dt string)
分桶表:CLUSTERED BY



2.SparkSQL:

Hive依赖于HDFS和MR,而SparkSQL依赖有HDFS和Spark core

2.1.Shark:

Shark是SparkSQL的最开始的一个版本,后来改名为SparkSQL。

Shark是基于Spark计算框架之上且兼容Hive语法的SQL执行引擎,由于底层的计算采用了Spark,性能比MR的Hive普遍快2倍。(Spark如果基于磁盘的话,比MR快10倍以上,基于内存的话,快100倍以上)当数据全部load在内存的话,将快10倍以上,因此Shark可以作为交互式查询应用服务来使用。

除了基于Spark的特性外,Shark是完全兼容Hive的语法,表结构以及UDF函数等,已有的HiveSql可以直接进行迁移至Shark上

Shark底层依赖于Hive的解析器,查询优化器,但正是由于SHark的整体设计架构对Hive的依赖性太强,难以支持其长远发展,比如不能和Spark的其他组件进行很好的集成,无法满足Spark的一栈式解决大数据处理的需求

当有一个sql语句传给Shark,它底层的解析器,查询优化器把sql解析成一个个Spark任务,底层的解析器,优化器都是HIive的

2.2Spark官网:http://spark.apache.org/

2.2.1官网信息

速度:
在这里插入图片描述
时间对比图:
在这里插入图片描述
Spark生态圈:在这里插入图片描述
2.2.2运行过程:
在这里插入图片描述
SparkSQL:
优点:底层的解析器,优化器都是自己的。

2.2.3产生关系:

Hive是Shark的前身,Shark是SparkSQL的前身

相对于Shark,SparkSQL有什么优势呢?

1.SparkSQL产生的根本原因,其完全脱离了Hive的限制

2.SparkSQL支持查询原生的RDD,这点就极为关键了。RDD是Spark平台的核心概念,是Spark能够高效的处理大数据的各种场景的基础

3.能够在Scala中写SQL语句。支持简单的SQL语法检查,能够在Scala中写Hive语句访问Hive数据,并将结果取回作为RDD使用

2.2.4最近新出的组合名称:

SparkSQL on Hive:(常用)
Hive只是作为了存储的角色
SparkSQL作为计算的角色

Hive on Spark:
Hive承担了一部分计算(解析SQL,优化SQL…)的和存储
Spark作为了执行引擎的角色

3.DataFrame:

3.1DataFrame介绍:

与RDD类似,DataFrame也是一个分布式数据容器。然而DataFrame更像传统数据库的二维表格,除了数据以外,还掌握数据的结构信息,即schema。同时,与Hive类似,DataFrame也支持嵌套数据类型(struct、array和map)。从API易用性的角度上 看,DataFrame API提供的是一套高层的关系操作,比函数式的RDD API要更加友好,门槛更低

在SparkSQL中,一切计算都基于DataFrame.。DataFrame底层封装的是 RDD,SparkSQL底层封装的是SparkCore.DataFrame可以理解为二维表

3.2RDD vs DataFrame
在这里插入图片描述
对于一个RDD,想要拿到每个Person对象的Name值:需要一条条的遍历,把对象放在内存中,再去解析拿到想到的属性,会产生冗余数据(还有其他属性的存在,极大的占用了内存)
而对于DataFrame,是有行有列的。当想拿到哪个属性时,直接拿出相应的列即可。

3.3SprkSQL所能接收的数据源:

在这里插入图片描述

3.4SparkSQL的底层架构:
在这里插入图片描述

DataX自定义transformer编写指南 DataX自定义transformer编写指南 用于数据加密 jave开发环境 maven Python 2.* 概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异... 阅读详情

相关推荐

【SparkSQL】SparkSQL的UDF及分析

目标掌握SparkSQL中register方式定义UDF函数实施特点:最常用的方式,既能用于SQL中,也能用于DSL中语法UDF变量名 = spark.udf.register(UDF函数名, 函数的处理逻辑)定义:spark.udf.register()UDF变量名:DSL中调用UDF使用的UDF函数名:SQL中调用UDF使用需求原始数据:datas/udf/music.tsv01 周杰伦 150/17502 周杰 130/18503 周华健 148/178目标结果。

迪焱的博客 1946

spark-sql create table using orc

在分区表中使用不同建表方式,hive和spark-sql中insert overwrite data现象不同。 1.问题出现过程 1)spark-sql建表 CREATE TABLE t_using (`user_no` STRING, `tt_slotid_req` STRING, `ks_slotid_req` STRING ,`model` STRING , `follow_time` STRING, `bind_time` STRING, `reg_slotid` STRING , `geo_

花言简 6098

《SparkSQL内核剖析》【基础篇】

一、从SQL到RDD 1. 一个简单的例子 样例数据 test.json {"name":"上海滩","singer":"叶丽仪","album":"香港电视剧主题歌","path":"mp3/shanghaitan.mp3&quot

renq的专栏 3569

SparkSQL创建表的几种方式

数据格式:7654,MARTIN,SALESMAN,7698,1981/9/28,1250,1400,30 // 需要导入的包 import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder i...

m0_37723298的博客 1万+

SparkSQL-01

SparkSQL是Spark中专门为结构化数据计算设计的模块,基于SparkCore之上。结构化数据: text、数据库的半结构的数据:JSON 等非结构化数据:音频 、视频、日志提供SQL和DSL开发接口,将SQL或者DSL语句转换为SparkCore程序,实现结构化的数据处理SparkSQL的语法和用法兼容 了Hive所有方式:语法兼容性高达90%。整个Spark最主要广泛应用的模块就是SparkSQL。

weixin_47070990的博客 1098

【Spark SQL】sparkSQL应用

一、Spark SQL多数据源交互 Spark SQL可以与多种数据源交互,如普通文本、json、parquet、csv、MySQL等 1.写入不同数据源 2.读取不同数据源 写数据 import java.util.Properties import org.apache.spark.SparkContext import org.apache.spark.rdd.RDD i...

依旧的博客 4069

SparkSQL详解

首先,DataFrame提供了高性能的查询和处理能力,可以直接使用SQL语句进行查询、过滤、聚合等操作,而无需编写复杂的代码。总结起来,Spark SQL是Apache Spark中用于处理结构化数据的模块,它提供了高级API和查询引擎,支持多种数据源和常见的SQL操作,同时具有优化查询和高性能的特点。总之,Spark SQL具有高性能、多数据源支持、SQL和DataFrame/DataSet抽象、可扩展性和统一的编程模型等特点,使得用户可以以统一的方式处理大规模的结构化数据。

JerryW17的博客 3526

SparkSQL DDL语句之CREATE TABLE

CREATE TABLE语句是用来给一个已存在的数据库中创建表的。我们平时用Hive等其他组件建表居多,本篇博客主要讲解一下SparkSQL如何进行建表。

SunnyRivers 1315

大数据学习之SparkSql

网址:Spark SQL是Spark的一个模块,用于处理结构化的数据。SparkSQL特点1易整合无缝的整合了SQL查询和Spark编程,随时用SQL或处理结构化数据。并且支持多语言JavaScalaPythonR。2统一的数据访问使用相同的方式连接不同的数据源或不同的文件格式中的数据。3兼容Hive在已有的数据仓库上直接运行SQL或者HiveQL,也可以使用SparkSQL直接处理数据并生成Hive数据表。14标准的数据连接。

qq_27302885的博客 1586

SPARKSQL3.0-源码剖析全流程导读

SPARKSQL3.0-源码剖析全流程导读

探索大数据世界 - 深入解析数据存储、分布式计算与人工智能 1914

Spacedesk保姆级教程:用旧平板给Windows电脑当副屏,从安装到避坑一步到位

本文提供Spacedesk保姆级教程,教你如何将旧平板变成Windows电脑的副屏,从软件安装到网络配置、显示优化及声音交互,一步步避开常见陷阱。通过WiFi实现扩展屏功能,支持4K分辨率和60Hz刷新率,让闲置设备焕发新生。

weixin_42524945的博客 1万+

【SparkSQL】基础入门(重点:SparkSQL和Hive的异同、SparkSQL数据抽象)

本文重点介绍Spark SQL的定义、特点、发展历史、与hive的区别、数据抽象、SparkSession对象。

爱干饭的猿的博客 2743

【项目实战】小智AI MCP协议在IoT设备控制中的深度应用解析

本文深度解析小智AI MCP协议在IoT设备控制中的应用实践。通过MCP协议作为AI与物联网设备的翻译桥梁,实现大语言模型与ESP32等硬件的无缝通信。文章详细介绍了环境搭建、工具注册、消息路由机制,并以语音控制RGB灯光系统为例展示完整开发流程,为AIoT开发者提供实用指南。

oauth7security的博客 824

sparkSQL sparkSQL读写数据到MySQL

sparkSQL读写数据到MySQL前言sparkSQL加载MySQL表中的数据sparkSQL写数据到MySQLsparkSQL写数据部署到集群pom依赖 前言 spark sql可以通过 JDBC 从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中 流程图 sparkSQL加载MySQL表中的数据 import java.util.Properties import org.apache.spark.SparkConf imp

a3125504x的博客 3496

攻防世界 misc题GFSJ1129-【您看我还有机会吗?】

我们发现了隐藏内容,一开始我以为那个英文就是flag,提交后发现不对,然后我想只有一张图片然后图片上的隐写内容又不是flag,那必定还有什么文件被隐藏了,于是我们打开VMware并启动Ubuntu,使用binwalk分析一下有没有隐藏文件,我们要在Terminal中分析,如下。我们发现里面有一个flag.txt文件,我们尝试提取里面内容,但发现又要密码,我们想起了之前图片上的隐藏内容,我们将那段英文输入(包括空格和符号,在VMware中输入密码不会有显示,你看到的就像没输入一样),然后我们看到如下。

大数据专业,关注 AI 安全与数学建模。记录 Web 安全、对抗攻击、隐私保护等安全实践,以及从经典模型到智能方法的建模思考。用数学思维理解 AI,用 AI 方法反哺安全与建模。 1092

高通平台Android稳定性调试笔记:手把手教你用T32、Crash Utility分析Kernel Panic与RAM Dump

本文详细介绍了高通平台Android内核崩溃的分析方法,包括使用T32 Simulator和Crash Utility工具链解析Kernel Panic与RAM Dump。从环境配置、dump文件预处理到高级调试技巧,手把手教你如何定位和解决Android系统崩溃问题,特别适用于MSM/SA8155平台的开发者。

weixin_42543046的博客 525

SparkSQL函数操作

SQL中函数,其实说白了就是各大编程语言中的函数,或者方法,就是对某一特定功能的封装,通过它可以完成较为复杂的统计。这里的函数的学习,就基于Hive中的函数来学习。概述当系统提供的这些函数,满足不了咱们的需要的话,就只能进行自定义相关的函数,一般自定义的函数两种,UDF和UDAF。UDF一路输入,一路输出,完成就是基于scala函数。通过模拟获取字符串长度的udf来学习自定义udf操作。代码实现// 创建执行入口// 导入隐式转换及构建数据"yukailu","maningna"))

HYSliuliuliu的博客 7973

基于Open Cluster Management构建企业级多Kubernetes集群管理平台OpenClaw

在云原生架构中,Kubernetes已成为容器编排的事实标准。随着业务规模扩大,企业往往需要管理分布在多个云环境或数据中心的Kubernetes集群,这带来了集群管理、应用分发、策略统一和监控运维等复杂挑战。多集群管理技术通过提供统一控制平面,实现了对分布式资源的集中管控,其核心价值在于提升运维效率、保障安全合规并降低管理成本。Open Cluster Management(OCM)作为CNCF沙箱项目,采用Kubernetes原生架构,通过自定义资源定义(CRD)和控制器模式,为构建多集群管理平台提供了标

weixin_33747129的博客 368

SparkSQL简介

SparkSQL是Spark用于结构化数据处理的Spark模块。

weixin_46628668的博客 1212

PIV实验流场流速云图(MALAB contour函数用法)

clear;clc; for k=1:5 str1=['filename1']; str2=['filename2']; str3=['filename3']; str=eval(['str',num2str(k)]); load(str); [m n]=size(y); y=flipud(y); v=-v; x=x-x(1,...

Nick_Cui的博客 3222

Tessent_StdcellLib

第二种为 Tessent Cell lib,既可用于功能仿真,也可以用于测试逻辑插入。lib包含了用于仿真的功能信息,也包含DFT cell属性。如何使用tessent工具将stdcell verilog 仿真模型转换为tessent自己的lib。运行后工具会生成一个atpg的lib文件,打开文件,找到一个带SI的DFF,只有功能描述。tessnt lib分为两种,第一种为ATBG lib,可以用于仿真;打开生成的lib文件,多了dft_cell_selection。第二部:编写attributes文件。

qq_40411444的博客 2134

sparkSQL sparkSQL操作hiveSQL

sparkSQL操作hiveSQLsparkSQL操作hiveSQLsparkSQL操作hiveSQL来操作本地文件sparkSQL操作hiveSQL来操作HDFS上的hivepom依赖 sparkSQL操作hiveSQL sparkSQL操作hiveSQL并不是sparkSQL on hive。 sparkSQL操作hiveSQL底层运行的依然是MR程序 sparkSQL on hive是把hive当做数据源,spark作为计算引擎。 核心:开启hive依赖 enableHiveSupport()

a3125504x的博客 1409

第14.11章 高翔博士最新开源框架Lightning-LM源码解读(十一):离线定位模块全解析,从激光匹配到位姿图优化的极致优化

本文介绍了Lightning-LM离线定位模块的技术架构与实现细节。该模块基于3D激光雷达与IMU融合,采用改进版NDT匹配算法实现高精度定位,具备动态图层更新、多源信息融合等特性。核心流程包括数据预处理、激光里程计处理、IMU预测与点云去畸变、位姿图优化等环节,通过轻量级miao库实现高效增量优化。文章详细解析了模块的代码结构、关键函数功能及数据流,为SLAM系统的开发与优化提供了实践参考。

行知SLAM 375
上一篇: Executor内存管理以及shuffle的调优
下一篇: java篇--小知识总结:
Small-lP-Pig
博客等级 码龄8年 14粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值