SparkSql介绍

news/2024/10/18 0:33:56/

概述

SparkSQL,顾名思义,就是Spark生态体系中的构建在SparkCore基础之上的一个基于SQL的计算模块。SparkSQL的前身不叫SparkSQL,而叫Shark,最开始的时候底层代码优化,sql的解析、执行引擎等等完全基于Hive,总之Shark的执行速度要比hive高出一个数量级,但是hive的发展制约了Shark,所以在15年中旬的时候,shark负责人,将shark项目结束掉,重新独立出来的一个项目,就是sparksql,不再依赖hive,做了独立的发展,逐渐的形成两条互相独立的业务:SparkSQL和Hive-On-Spark。在SparkSQL发展过程中,同时也吸收了Shark有些的特点:基于内存的列存储,动态字节码优化技术。

SparkSQL特点

Integrated

强大的整合能力,可以在spark程序中混合SQL查询操作,如图-1所示。

图-1 SparkSQL特点之integrated

Uniform Data Access

统一的数据访问接口,使得sparksql可以非常便捷的进行数据访问操作,如图-2所示。

图-2 SparkSQL特点之uniform data access

Hive Integration

SparkSQL一个非常重要的功能,就是读写hive中的数据,所以对于hive的强大支持,就是sparksql重要的能力之一,如图-3所示。

图-3 SparkSQL特点之hive integration

Standard Connectivity:

SparkSQL强大的功能的同时,为了方便一些BI组件的调用数据,也提供了支持JDBC/ODBC,使得对数据访问变得多元化,功能完整化,如下图-4所示。

图-4 SparkSQL特点之Standard Connectivity

总结

SparkSQL就是Spark生态体系中用于处理结构化数据的一个模块。结构化数据是什么?存储在关系型数据库中的数据,就是结构化数据;半结构化数据是什么?类似xml、json等的格式的数据被称之为半结构化数据;非结构化数据是什么?音频、视频、图片等为非结构化数据。

换句话说,SparkSQL处理的就是二维表数据。


http://www.ppmy.cn/news/1455001.html

相关文章

卡件SM711,SM472,SM481和利时

系统卡件❗电:183-6998-1851❗运行时组态是组态软件新近提出的SM711,SM472,SM481和利时。运行时组态是在运行环境下对已有工程进行修改,添加新的功能。它不同于在线组态,在线组态是在工程运行的同时,进入组态环境,卡件SM711,SM472…

商业银行业务档案管理规范

商业银行业务档案管理规范 1 范围 本文件规定了商业银行的业务档案工作总则、管理体制、管理模式、管理岗位职责等管理要求,及商业银行业务文件的收集、分类、整理、归档,商业银行业务档案的保管、利用、鉴定与处置的要求与方法。 本文件适用于商业银…

clang:在 Win10 上编译 MIDI 音乐程序(一)

先从 Microsoft C Build Tools - Visual Studio 下载 1.73GB 安装 "Microsoft C Build Tools“ 访问 Swift.org - Download Swift 找到 Windows 10:x86_64 下载 swift-5.10-RELEASE-windows10.exe 大约490MB 建议安装在 D:\Swift\ ,安装后大约占…

SQL注入-基础知识

目录 前言 一,SQL注入是什么 二,SQL注入产生的条件 三,学习环境介绍 四、SQL注入原理 五,SQL中常用的函数 六,关于Mysql数据库 前言 在网络安全领域中,sql注入是一个无法被忽视的关键点&#xff0c…

使用模板时模板的定义应该放到头文件

在使用函数模板之前,编译器必须看到不仅仅是一个声明,通常编译器需要完整的函数模板定义。换句话说,如果你在头文件中定义了一个模板,那么这个头文件必须包含该函数模板的主体。 假设需要在许多项目之间共用某个函数foo。通常情况…

牛客储物点的距离

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 一个数轴,每一个储物点会有一些东西,同时它们之间存在距离。 每次给个区间[l,r],查询把这个区间内所有储物点的东西运到另外一个储物点的代价是多少&#xff1…

ES dsl查询filter(或must)和should并用时should子句不生效

记录下今天编码时遇到的问题,在filter和should同级并用的查询下,should子句并没有生效,只有filter子句生效。 例如以下dsl {"query": {"bool": {"filter": [{"term": {"status": 3}}],&…

区块链 | NFT 相关论文:Preventing Content Cloning in NFT Collections(一)

🐶原文: Preventing Content Cloning in NFT Collections 🐶写在前面: 这是一篇 2023 年的 CCF-C 类,本博客只记录其中提出的方法。 A Robust NFT Collection Functionality 我们将在本节中提出一个定义。在假设有恶…