目录

Spark SQL,DF,RDD cache常用方式

RDD中的cache

调用cache方法

复制代码
val testRDD = sc.parallelize(Seq(elementA, elementB, elementC)).
    map(x => (x._1, x._2)).setName("testRDD")

testRDD.cache()

dataframe中的cache

利用catalog以表的形式对数据进行缓存

复制代码
import org.apache.spark.SparkConf
import org.apache.spark.sql.{SaveMode, SparkSession}
import org.apache.spark.sql.functions.udf



val conf = new SparkConf().setAppName(s"test_app")
val spark = SparkSession.builder().config(conf).getOrCreate()
spark.read.parquet(s"${BASEPATH}/dws_live_mid_stat_order_di/event_day=${event_day}").createOrReplaceTempView(s"dwd_flow_sessionid_di")

spark.catalog.cacheTable("dwd_flow_sessionid_di")
spark.catalog.uncacheTable("dwd_flow_sessionid_di")

SQL中的cache

复制代码
    spark.sql(
      s"""
         |cache table flow_basic_tmp as
         |select
         |    *
         |from
         |    test.tmp_live_mid_stat_order_di
         |""".stripMargin)

UNCACHE TABLE [ IF EXISTS ] table_identifier

SQL cache 相关文档,可以懒加载 CACHE TABLE - Spark 3.5.0 Documentation

需要注意的点 :

Spark.createDateFrame需要执行

基于DF 需要执行action,才能让RDD cache住

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
续亮~3 分钟前
提示词 (Prompt)
java·人工智能·prompt·ai编程·springai
aiden:)3 分钟前
设计模式之工厂模式(factory pattern):在商品对象创建系统中的应用
java·开发语言·设计模式·软件工程·软件构建
Tdm_8888 分钟前
SQL Server中OPENJSON + WITH 来解析JSON
java·数据库·sql·c#·json·mssql
C137的本贾尼11 分钟前
Java内部类详解
java·开发语言
吹35度风14 分钟前
Spark-SQL核心编程(二)(三)
大数据·spark
老码识土15 分钟前
Kotlin 协程源代码泛读:协程上下文
java
早睡33519 分钟前
Spark-SQL核心编程
spark
vivo互联网技术43 分钟前
Spark on K8s 在vivo大数据平台的混部实战
大数据·spark·容器化
极客先躯1 小时前
高级java每日一道面试题-2025年4月09日-微服务篇[Nacos篇]-Nacos的服务注册与发现机制是如何实现的?
java·开发语言·微服务