首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/371195

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

Spark SQL概念学习系列之Spark SQL 优化策略(五)

查询优化是传统数据库中最为重要的一环,这项技术在传统数据库中已经很成熟。除了查询优化,Spark SQL 在存储上也进行了优化,从以下几点查看 Spark SQL 的一些优化策略。(1)内存列式存储与内存缓存表 Spark SQL 可以通过 cacheTable 将数据存储转换为列式存储,同时将数据加载到内存进行缓存。 cacheTable 相当于在分布式集群的内存物化视图,将数据进行缓存,这样迭代的或者交互式的查询不用再从 HDFS 读数据,直接从内存读取数据大大减少了 I/O 开销。列式存储的优势在于 Spark SQL 只需要读出用户需要的列,而不需要像行存储那样需要每次将所有列读出,从而大大减少内存缓存数据 量,更高效地利用内存数据缓存,同时减少网络传输和 I/O 开销。数据按照列式存储,由于是数据类型相同的数据连续存储,能够利用序列化和压缩减少内存空间的占用。 (2)列存储压缩 为了减少内存和硬盘空间占用, Spark SQL 采用了一些压缩策略对内存列存储数据 进 行 压 缩。 Spark SQL 的 压 缩 方 式 要 比 Shark 丰 富 很 多, 例 如 它 ...

Spark 概念学习系列之Spark计算工作流(十二)

下图 中描述了 Spark 的输入、运行转换、输出。 在运行转换中通过算子对 RDD进行转换。 算子是 RDD 中定义的函数,可以对 RDD 中的数据进行转换和操作。 输入:在 Spark 程序运行中,数据从外部数据空间(例如, HDFS、 Scala 集合或数据)输入到 Spark,数据就进入了 Spark 运行时数据空间,会转化为 Spark 中的数据块,通过 BlockManager 进行管理。运行:在 Spark 数据输入形成 RDD 后,便可以通过变换算子 f liter 等,对数据操作并将 RDD 转化为新的 RDD,通过行动(Action)算子,触发 Spark 提交作业。如果数据需要复用,可以通过 Cache 算子,将数据缓存到内存。 输出:程序运行结束数据会输出 Spark 运行时空间,存储到分布式存储中(如saveAsTextFile 输出到 HDFS)或 Scala 数据或集合中( collect 输出到 Scala 集合,count 返回 Scala Int 型数据)。 图 1 Spark 算子和数据空间 Spark的核心数据模型是RDD,但RDD是个抽象类,...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册