Spark学习笔记一、Spark基本概念1、架构初析1-1、Spark的基本架构组成Spark应用程序由一个驱动器进程(driver)和一组执行器(worker)进程组成。其中驱动器(driver)的作用是:维护Spark应用程序的相关信息;回应用户的程序或输入;分析任务并分发给各个执行器去处理。执行器(worder)的作用是负责执行驱动器分配的任务,并将状态反馈给驱动器,其执行的进程叫做Exec
一、相同函数差异 二、仅Hive支持 三、仅Spark支持 四、Parquet表格式相关 五、备注 一、相同函数差异1.Spark运行时用到的hash函数,与Hive的哈希算法不同,如果使用hash(),结果和Hive的hash()会有差异解决方案:SparkSQL中将hash()修改为兼容Hive的函数hive_hash() 2.Hive和SparkSQL使用grouping
转载
2023-07-14 12:32:27
306阅读
一. spark-sql
1.in 不支持子查询 eg. select * from src where key in(select key from test);
支持查询个数 eg. select * from src where key in(1,2,3,4,5);
in 40000个 耗时25.766秒
in 80000个 耗时78.827秒
2.union all/union
不支持顶层
转载
2023-09-15 16:03:13
858阅读
文章目录第1章 Spark SQL概述1.1 什么是Spark SQL1.2 Spark SQL的特点1.2.1 易整合1.2.2 统一的数据访问方式1.2.3 兼容Hive1.2.4 标准的数据连接1.3 什么是DataFrame1.4 什么是DataSet第2章 Spark SQL编程2.1 SparkSession新的起始点2.2 DataFrame2.2.1 创建DataFrame2.2
转载
2023-09-18 21:50:25
101阅读
文章目录第1章 Spark SQL概述1.1 什么是Spark SQL1.2 Spark SQL的特点1.2.1 易整合1.2.2 统一的数据访问方式1.2.3 兼容Hive1.2.4 标准的数据连接1.3 什么是DataFrame1.4 什么是DataSet第2章 Spark SQL编程2.1 SparkSession新的起始点2.2 DataFrame2.2.1 创建DataFrame2.2
转载
2023-09-18 21:50:24
136阅读
SparkSql提供了对Hive的结构化查询语言,在某些业务场景下,我们可能需要对sql语法进行扩展,在此以自定义merge语法说明其一般步骤。 Hive中parquet格式表的数据文件可能会包含大量碎片文件(每次执行insert时都会产生独立的parquet文件),碎文件过多会影响hdf
转载
2023-09-08 23:11:42
104阅读
一、前言在开始剖析SparkSQL前,我们要先来了解一下Antlr4,这是因为spark-sql字符串解析工作是由Antlr4完成的,故需要先来了解Antlr4,如下:本文会着重介绍一下几点:1、Antlr是什么?2、如何使用?3、SparkSql中如何使用?二、Antlr4是什么?Antlr4(Another Tool for Language Recognition)是一款强大的语法分析器生成
转载
2023-11-02 12:20:52
56阅读
PySpark的语法是从左到右串行的,便于阅读、理解和修正;SQL的语法是从内到外嵌套的,不方便维护;PySpark继承Python优美、简洁的语法,同样的效果,代码行数可能只有SQL的十分之一;Spark分转化操作和行动操作,只在行动操作时才真正计算,所以可以减少不必要的计算时间;相对于SQL层层嵌套的一个整体,PySpark可以拆分成多步,并可以十分方便地把中间结果保存为变量,更有利于调试和修
转载
2023-08-11 18:16:41
115阅读
Spark SQL入门spark sql 基本原理sparksql 概述与架构sparksql执行流程sparksql 相对于 hive 和 MapReduce 作业的优点sparksql基本操作命令DataFrame 和Dataset 两种的使用ActionDataFrame 基础函数DataSet集成语言查询RDD转DataFrame的方式 spark sql 基本原理sparksql 概述
转载
2023-11-12 21:06:33
49阅读
as作代词as作介词as作连词as引导定语从句as引导状语从句时间原因方式让步比较其他 as作代词引导定语从句有两个意思 1. 等同于that, who, which 2. 表示a fact thatas作介词表示名词、代词等与句中其他词的关系,翻译为‘正如/如同’ his face was as a maskas作连词as引导定语从句既可以引导限定性定语从句,又可以引导非限定性定语从句。
转载
2023-07-06 16:06:39
193阅读
一套比RDD更加简单易用的API,如果说RDD是基础剑法,SparkSQL就是全真剑法(基础剑法升级版)SparkSQL,使用SQL来完成大数据操作Spark的RDD相关API是spark处理大数据的基础,在后面的版本中Spark提出新的处理方案,在学习新API之前我们需要了解下API提供的新对象,spark在新版本中升级RDD为DataFrame和DataSet,并使用SQL的方式去操作数据Da
转载
2023-09-28 06:27:07
104阅读
【理解】SparkSQL执行流程接收到查询,既可以是SQL语句,也可以是DSL语法,以一个SQL语句为例:1、Parser,第三方类库Antlr实现。将sql字符串切分成Token,根据语义规则解析成一颗AST语法树,称为Unresolved Logical Plan;如果没有语法错误,则解析成下面的语法树。否则返回语法错误信息。简单来说就是判断SQL语句是否符合规范,比如select from
转载
2023-08-08 13:26:12
661阅读
1、cache join和group by 作为变量2、设置shuffle过程中的并行度spark.sql.shuffle.partitions SQLContext.setConf()在hive数据仓库建设过程中 合理设置数据类型 比如能设置为INT的 不要设置为BigInt 减少数据类型导致的内存开销填写SQL时 尽量给出明确的列名 比如select name from students 不
转载
2023-09-13 22:48:44
103阅读
Spark SQL之SQL优化主要关注于执行性能问题1、避免使用不必要的UDF函数UDF:用户定义函数,可以直接在SQL语句中计算的函数,如:count、sum、avg、max、min等2、没有指定数据分区SQL-1: SELECT date FROM test_table WHERE date = '20170829' and value = 1;
SQL-2: SELECT date FROM
转载
2023-08-04 14:27:16
223阅读
查询树优化一、执行代价估算执行开销执行开销计算实例二、等价变换公式1.连接、笛卡儿积的交换律2.连接、笛卡儿积的结合律3.投影的串接定律4.选择的串接定律5.选择与投影的交换律6.选择与笛卡儿积的交换律7.选择与并的分配律8.选择与差运算的分配律9.选择对自然连接的分配律10.投影与笛卡儿积的分配律11.投影与并的分配律三、启发式规则与查询树优化(一)启发式规则1.选择运算尽可能先做。2.把投影
转载
2023-10-16 11:23:59
114阅读
1、SparkSession新的起始点在老的版本中,SparkSQL提供两种SQL查询起始点:一个叫SQLContext,用于Spark自己提供的SQL查询;一个叫HiveContext,用于连接Hive的查询。 SparkSession是Spark最新的SQL查询起始点,实质上是SQLContext和HiveContext的组合,所以在SQLContext和HiveContext上可用的API在
转载
2023-10-05 16:32:55
169阅读
作者 | 郭俊字节跳动数据仓库架构团队负责数据仓库领域架构设计,支持字节跳动几乎所有产品线(包含但不限于抖音、今日头条、西瓜视频、火山视频)数据仓库方向的需求,如 Spark SQL / Druid 的二次开发和优化。字节跳动数据仓库架构负责人郭俊从 SparkSQL 的架构简介、字节跳动在 SparkSQL 引擎上的优化实践,以及字节跳动在 Spark Shuffle 稳定性提升和性能优化三个方
spark sql 可以说是 spark 中的精华部分了,我感觉整体复杂度是 spark streaming 的 5 倍以上,现在 spark 官方主推 structed streaming, spark streaming 维护的也不积极了, 我们基于 spark 来构建大数据计算任务,重心也要向 DataSet 转移,原来基于 RDD 写的代码迁移过来,好处是非常大的,尤其是在性能
转载
2023-08-28 09:52:55
83阅读
# Spark SQL 优化
## 简介
在大数据处理中,Spark SQL 是一种分布式计算框架,用于处理结构化和半结构化数据。它提供了一种类似于 SQL 的 API,让用户可以通过 SQL 查询和操作数据。然而,由于大数据的特性,Spark SQL 的性能优化是非常重要的,可以显著提高数据处理的效率。
本文将重点介绍一些常见的 Spark SQL 优化技巧,包括数据本地性优化、查询优化、
原创
2023-10-19 14:38:22
44阅读
# 实现IFNULL SparkSQL 语法教程
## 介绍
本文将教你如何在 SparkSQL 中使用 IFNULL 语法。IFNULL 函数用于在查询结果中替换 NULL 值。作为一名经验丰富的开发者,我将逐步介绍整个过程,并提供每个步骤所需的代码。
## 教程步骤
下面是实现 IFNULL SparkSQL 语法的步骤概览:
```mermaid
journey
title
原创
2023-10-19 10:57:24
93阅读