spark读取hdfs路径下的数据_Spark读取HDFS数据分区参考
本文以读取 parquet 文件 / parquet hive table 为例:
hive metastore 和 parquet 转化的方式通过 spark.sql.hive.convertMetastoreParquet 控制,默认为 true。
如果设置为 true ,会使用 org.apache.spark.sql.execution.FileSourceScanExec ,否则会使用 org.apache.spark.sql.hive.execution.HiveTableScanExec。
FileSourceScanExec
前者对分区规则做了一些优化,如果 文件是:
没有分桶的情况
分区大小计算公式:
bytesPerCore = totalBytes / defaultParallelism
maxSplitBytes = Math.min(defaultMaxSplitBytes, Math.max(openCostInBytes, bytesPerCore))
defaultMaxSplitBytes:spark.sql.files.maxPartitionBytes,默认为128M,每个分区读取的最大数据量
openCostInBytes: spark.sql.files.openCostInBytes,默认为4M,小于这个大小的文件将会合并到一个分区,可以理解为每个分区的最小量,避免碎文件造成的大量碎片任务。
defaultParallelism: spark.default.parallelism,yarn默认为应用cores数量或2。
bytesPerCore:数据总大小 / defaultParallelism
分桶的情况下
分区数取决于桶的数量
HiveTableScanExec
通过文件数量,大小进行分区。
例如:读入一份 2048M 大小的数据,hdfs 块大小设置为 128M
该目录有1000个小文件,则会生成1000个partition。
如果只有1个文件,则会生成 16 个分区。
如果有一个大文件1024M,其余 999 个文件共 1024M,则会生成 1007个分区。
spark读取hdfs路径下的数据_Spark读取HDFS数据分区参考相关推荐
- 在MATLAB中读取同一路径下多个txt或mat文件
1.matlab中给我们提供了dir这个函数,十分方便.这里是读取所有txt文件,所以是dir('父目录路径\*.txt'),读取其它格式文件一样,如读取该路径下的所有png图像文件,则为dir('父 ...
- matlab文件目录表示,Matlab - 文件目录路径操作_读取不同路径下的相同文件名表格...
Matlab - 文件目录路径操作_读取不同路径下的相同文件名表格 tr1 str1 for max imp mda eva 目录 xls clear;clc; clo ...
- ClassLoad类加载器读取ClassPath路径下的配置文件(一)
ClassLoad类加载器读取ClassPath路径下的配置文件(一) 一.项目介绍 1.使用 com.test.test包下的ReadclassLoad 类去读取另一个包 com.test.util ...
- spark读取hdfs路径下的数据_到底什么是数据湖
随着移动互联网,物联网技术的发展,数据的应用逐渐从 BI 报表可视化往机器学习.预测分析等方向发展,即 BI 到 AI 的转变. 数据的使用者也从传统的业务分析人员转为数据科学家,算法工程师. 此外对 ...
- 安卓加载asset中的json文件_Android中读取asset路径下本地json文件
最近自己写个小demo,用到了assets文件里面的内容.猛的没想起来怎么使用.就记录下来 移动端开发中,和后台的交互方式不外乎json和xml,由于json的轻量级以及易用性,所以现在的交互协议基本 ...
- java读取src路径下的txt文件_Java程序使用Maven后无法运行?
问:老师,同样的代码,为何我将Java工程改造成Maven后,始终无法运行? 实现的功能:加载abc.txt文件,代码是写在了Demo类中. 开发工具是Idea. 1.以下是普通Java工程的目录结构 ...
- Java读取指定路径下的文件列表
直接贴代码吧.不过这里要做一个简单的说明,对于这个程序,我们必须保证我们在F盘下有一个log_files的文件夹,因为在后面写入文件的时候,如果路径中的文件不存在,是程序可以自动为其添加,但如果没有了 ...
- java读取文件指定位置_Java读取指定路径下的文件列表
直接贴代码吧.不过这里要做一个简单的说明,对于这个程序,我们必须保证我们在F盘下有一个log_files的文件夹,因为在后面写入文件的时候,如果路径中的文件不存在,是程序可以自动为其添加,但如果没有了 ...
- c打开指定路径文件_C++ 读取指定路径下所有的文件 (C++ get the list of files in a directory)...
电脑配置:window10, 64位操作系统,基于x64的处理器,Microsoft Visual Studio Community 2019 Version 16.4.5 实现方法:使用 boost ...
- java 获取ftp路径_Java Source 根据输入 ftp 地址 账号 密码 路径 读取提供路径下的文件...
参考上面的: 引用jar包 ganymed-ssh2-build210.jar jar 包放在 $ORACLE_HOME/sqlj/lib 执行loadjava命令 加载jar包 路径下 执行 ...
最新文章
- JupyterLab 3.0发布!
- GitLab [Webhooks] 实现自动化服务器部署
- 以后再也不去字节面试了…
- Android图片编码机制深度解析(Bitmap,Skia,libJpeg)
- 华为、三星都崴了脚:石墨烯充电还有戏吗
- eclipse集成maven
- 【MATLAB】MATLAB基本运算
- 汇佳学校|应博丞:不及格“逆袭”全科满分,粉丝科普博主唤醒想象力
- 运用集合实现用户的注册和登录
- Direct2D 介绍
- 西门子博图功能指令(移动块)
- 015-包、crate、模块
- CentOS 6安装教程(图文详解)
- Vue项目首页---开发周末游组件
- 脑电数据的实验范式及EEGLAB分析预处理
- allegro标注尺寸设置_Allegro中尺寸标注文字的设置
- php 毛玻璃,毛玻璃 - 晚晴小筑 - OSCHINA - 中文开源技术交流社区
- SQL Server之查询检索操作
- 车企数字化转型研究:如何实现“以用户为中心”的数字化转型?
- 偏相关系数 - sas 实现
热门文章
- python使用matplotlib可视化条形图、使用barh函数可视化条形图(使用barh函数可视化多分类的并行条形图、side by side)
- colMedians(x) : Argument ‘x’ must be a matrix、rowMedians(data) : Argument ‘x‘ must be a matrix.
- python代码获取每一天在一年中出现的次数(星期)
- 深度学习多变量时间序列预测:GRU算法构建时间序列多变量模型预测交通流量+代码实战
- 泊松回归(Poisson regression)、COX回归、分类器变回归器、回归算法注意事项、多重共线性问题
- R新旧模型、计算净重新分类指数(NRI)和整体鉴别指数(IDI)详解及实战
- 珍惜当下、Relish the Moment
- linux进程间通讯-消息队列
- STM32-RCC内部总线时钟设置程序详讲
- 场景法设计测试用例atm_软件测试零基础入门:常用八大测试用例设计方法,含案例...