我是靠谱客的博主 丰富画板,最近开发中收集的这篇文章主要介绍spark读取hdfs路径下的数据_大数据实践解析(下):Spark的读写流程分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

导读:

众所周知,在大数据/数据库领域,数据的存储格式直接影响着系统的读写性能。spark是一种基于内存的快速、通用、可扩展的大数据计算引擎,适用于新时代的数据处理场景。在“大数据实践解析(上):聊一聊spark的文件组织方式”中,我们分析了spark的多种文件存储格式,以及分区和分桶的设计。接下来,本文通过简单的例子来分析在Spark中的读写流程,主要聚焦于Spark中的高效并行读写以及在写过程中如何保证事务性。

1、文件读

如何在Spark中做到高效的查询处理呢?这里主要有两个优化手段:

1)减少不必要的数据处理。数据处理涉及文件的IO以及计算,它们分别需要耗费大量的IO带宽和CPU计算。在实际的生产环境中,这两类资源都是有限的,同时这些操作十分耗时,很容易成为瓶颈,所以减少不必要的数据处理能有效提高查询的效率;

以下面的查询为例:

spark.read.parquet("/data/events")
.where("year = 2019")
.where("city = 'Amsterdam'")
.select("timestamp")

由于在events表中按照year字段做了分区,那么首先通过 year 字段我们就可以过滤掉所有year字段不为 2019 的分区:

最后

以上就是丰富画板为你收集整理的spark读取hdfs路径下的数据_大数据实践解析(下):Spark的读写流程分析的全部内容,希望文章能够帮你解决spark读取hdfs路径下的数据_大数据实践解析(下):Spark的读写流程分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部