Spark
文章平均质量分 80
Spark相关概念和简单实操
蜜桃上的小叮当
最近更新spark方面知识,记得关注
展开
-
Spark On Hive配置测试及分布式SQL ThriftServer配置
分布式SQL执行引擎就是使用Spark提供的ThriftServer服务,以“后台进程”的模式持续运行,对外提供端口。SQL提交后,底层运行的就是Spark任务。相当于构建了一个以MetaStore服务为元数据,Spark为执行引擎的数据库服务,像操作数据库那样方便的操作SparkSQL进行分布式的SQL计算。原创 2024-01-20 15:25:38 · 599 阅读 · 0 评论 -
SparkSQL优化器与执行流程
断言下推,将Filter这种可以减少数据集的操作下推,放在Scan位置,为了减少操作时候的数据量。上述代码是先join再where,而下推之后先过滤age,再join,这样可以减小join数据量提升性能。AST逻辑计划结束之后需要生成物理计划,从而生成RDD来进行后续的运行。列值裁剪,在断言下推之后进行裁剪,由于people表中只用到了id这一列,所以可以把其他列裁剪掉,从而做到减少数据量,优化处理速度。为了解决过多依赖Hive的问题,SparkSQL使用了一个新的SQL优化器代替Hive优化器。原创 2023-02-22 23:28:19 · 337 阅读 · 1 评论 -
SparkSQL 实现窗口函数
开窗函数的引入是为了既显示聚合前的数据,又显示聚合后的数据。即在每一行的最后一列添加聚合函数的结果。开窗用于为定义一个窗口(指运算将要操作的行的集合),它对一组值进行操作,不需要使用Group BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。聚合函数和开窗函数的区别:聚合函数是多行变一行;如果要显示其他列必须加入到group by中。开窗函数是一行变多行;不需要加group by就可以将所有信息显示出来。开窗函数分类:聚合开窗函数:聚合函数(col) + OVER()原创 2023-02-22 00:01:28 · 802 阅读 · 0 评论 -
SparkSQL UDF函数
无论是Hive还是SparkSQL分析处理数据时,往往需要使用函数,SparkSQL模块本身自带很多实现公共功能的函数,在pyspark.sql.functions中。Hive中常见的自定义函数有三种UDF(一对一)、UDAF(多对一)、UDTF(一对多)。在SparkSQL中,目前仅仅支持UDAF与UDF,而python仅支持UDF。sparksession.udf.register():注册的UDF可以用DSL和SQL,返回值用于DSL风格,传参内给的名字用于SQL风格。原创 2023-02-21 00:04:24 · 620 阅读 · 0 评论 -
SparkSQL DataFrame数据写出
SparkSQL 统一API写出DataFrame数据。原创 2023-02-15 23:55:33 · 192 阅读 · 0 评论 -
SparkSQL 数据清洗API
【代码】SparkSQL 数据清洗API。原创 2022-12-13 00:10:42 · 983 阅读 · 0 评论 -
DataFrame API入门操作及代码展示
DataFrame的一个强大之处就是我们可以将它看作是一个关系型数据表,然后可以通过在程序中使用spark.sql() 来执行SQL语句查询,结果返回一个DataFrame。使用SQL查询我们需要调用SparkSession.sql(“SQL语句”)执行查询,返回值是一个新的DataFrame。df.createGlobalTempView():注册全局临时的视图表。df.createTempView():注册临时的视图表。filter()与where()方法。printSchema()方法。原创 2022-12-01 21:17:30 · 1014 阅读 · 0 评论 -
SparkSQL DataFrame的介绍及创建
DataFrame是以二维表格形式的数据存储结构。在SparkSQL中同样是分布式数据集,有分区并且可以并行计算。StructType对象是描述整个DataFrame的表结构。StructField对象描述一个列的信息。Row对象记录一行数据。Column对象记录一列数据并包含列信息。相同点:都是弹性分布式数据集。不同点:DataFrame:存储结构限定为二维表结构化数据。RDD:存储数据没有任何限制。原创 2022-11-30 20:22:20 · 411 阅读 · 0 评论 -
浅谈SparkSQL基本概念和原理
在Spark2.0之后,推出了SparkSession对象,作为Spark编码的统一入口对象。SparkSession对象既可以用于SparkSQL编程、又可以用于SparkCore RDD编程,主要是通过SparkSession对象获取SparkContext方法。在企业中虽然Hive技术依旧居多,但是作为性能强于Hive的SparkSQL,在未来将会代替Hive成为分布式SQL计算的主流。相同点:两者都是分布式SQL计算引擎,都可以运行Yarn上。原创 2022-11-30 14:20:48 · 654 阅读 · 0 评论 -
Spark并行度和任务调度
规划并行度优先级:代码→客户端提交参数→配置文件→默认设置(默认为1,具体会根据文件的分片数来跑)。Driver也就是我们通常理解的包工头。原创 2022-11-23 18:32:27 · 1298 阅读 · 0 评论 -
Spark DAG及内存迭代计算
Spark会产生DAG图。DAG图会基于分区和宽窄依赖关系划分阶段。一个阶段内部都是窄依赖,窄依赖内,如果形成前后的1:1的分区对应关系,就可以产生许多内存迭代计算管道。这些内存迭代计算的管道,就是一个个具体执行的Task。一个Task就是一个具体的线程,任务跑在一个线程内,就是走内存计算了。原创 2022-11-23 17:14:58 · 1018 阅读 · 0 评论 -
Spark 广播变量和累加器
【代码】Spark 广播变量和累加器。原创 2022-11-22 15:19:17 · 294 阅读 · 0 评论 -
RDD缓存机制及持久化技术
Spark cache CheckPoint原创 2022-11-21 15:53:54 · 891 阅读 · 0 评论 -
Spark RDD编程模型及算子介绍(二)
collect算子:将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象。RDD是分布式对象,数据量可以很大,所以用这个算子之前需要知道如果数据集结果很大,就会把driver内存撑爆,出现oom。结果如下图所示在HDFS WebUI上查看。原创 2022-11-18 01:03:16 · 620 阅读 · 0 评论 -
Spark RDD编程模型及算子介绍(一)
RDD是Spark 对于分布式数据集的抽象,它用于囊括所有内存中和磁盘中的分布式数据实体。每一个RDD都代表着一种分布式数据形态。在RDD的编程模型中,一共有两种算子,Transformations类算子和Actions类算子。开发者需要使用Transformations类算子,定义并描述数据形态的转换过程,然后调用Actions类算子,将计算结果收集起来、或是物化到磁盘。原创 2022-11-17 15:46:42 · 611 阅读 · 0 评论 -
Spark RDD的介绍及创建
RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合。它用于囊括所有内存中和磁盘中的分布式数据实体。RDD与数组的对比:对比项数组RDD概念类型数据结构实体数据模型抽象数据跨度单机进程内跨进程、跨计算节点数据构成数组元素数据分片数据定位数据下标、索引数据分片索引。原创 2022-11-10 12:49:15 · 715 阅读 · 0 评论 -
Python SparkContext编程示例WordCount
Spark本身执行是通过JVM Driver和JVM Executor去跑Spark程序的。而且Python是如何跑在Spark中,如上图白色部分为python的代码部分,需要通过一个socket网络通道去连接到JVM Driver中,然后通过Py4j来讲python程序翻译成JVM代码,变成JVMDriver来运行。Python → JVM代码 → JVM Driver → RPC → 调用JVM Executor → PySpark中转 → Python Executor进程。原创 2022-11-09 16:23:45 · 1262 阅读 · 0 评论 -
Spark的应用架构和程序层次结构
Spark程序运行层次结构原创 2022-11-07 16:28:15 · 1518 阅读 · 0 评论 -
Spark On Yarn的两种运行模式
spark on yarn两种部署方式原创 2022-11-07 15:46:59 · 1931 阅读 · 0 评论 -
Spark On Yarn基本原理及部署
spark on yarn部署原创 2022-11-07 12:41:11 · 1228 阅读 · 0 评论 -
Spark Standalone HA基本原理及部署
spark HA部署原创 2022-11-05 01:59:04 · 631 阅读 · 0 评论 -
Spark Standalone架构及安装部署
Spark Standalone部署原创 2022-11-04 21:39:41 · 1863 阅读 · 0 评论 -
Spark Local模式的基本原理及部署
spark 部署原创 2022-11-04 02:00:05 · 663 阅读 · 0 评论 -
Spark概念及相关介绍
spark介绍原创 2022-10-09 00:47:47 · 239 阅读 · 0 评论