spark sql保存hive表时的压缩设置
根据查看spark sql源码(3.1.3)的源码,找到hive表输出文件压缩格式的设定方式:
结论:
1. 如果hive输出表的属性里定义了压缩格式,则直接使用表定义的格式,具体属性为:
文件输出格式 | 表属性 |
---|---|
text | compression |
csv | compression > codec |
json | compression |
parquet | compression > parquet.compression |
orc | compression > orc.compress |
2. 如果hive输出表的属性里没有定义压缩格式,则以配置项的设置为准,具体为:
文件输出格式 | 配置项 |
---|---|
orc |
spark.sql.orc.compression.codec 可用值:"none", "uncompressed", "snappy", "zlib", "lzo" |
parquet |
spark.sql.parquet.compression.codec
可用值:"none", "uncompressed", "snappy", "gzip", "lzo", "lz4", "brotli", "zstd" |
orc,parquet以外 |
hive.exec.compress.output 可用值:"true","false" 可用值:"RECORD","BLOCK","NONE" |
第一步,初步设定压缩格式,优先级低于表属性
spark sql源码 (3.1.3):org.apache.spark.sql.hive.execution.SaveAsHiveFile
spark sql源码 (3.1.3):org.apache.spark.sql.hive.execution.HiveOptions
spark sql源码 (3.1.3):org.apache.spark.sql.execution.datasources.parquet.ParquetOptions
spark sql源码 (3.1.3):org.apache.spark.sql.execution.datasources.orc.OrcOptions
第二步,具体输出格式内部定义,以表属性优先
spark sql源码 (3.1.3):org.apache.spark.sql.hive.execution.SaveAsHiveFile
spark sql源码 (3.1.3):org.apache.spark.sql.execution.datasources.text.TextFileFormat
spark sql源码 (3.1.3):org.apache.spark.sql.execution.datasources.text.TextOptions
spark sql源码 (3.1.3):org.apache.spark.sql.catalyst.util.CompressionCodecs
spark sql保存hive表时的压缩设置相关推荐
- Spark SQL操作Hive表
Spark SQL支持从Hive存储中读写数据.然而,Hive存在很多的依赖,而这些依赖又不包含在默认的各类Spark发型版本中.如果将Hive的依赖放入classpath中,Spark将自动加载它们 ...
- spark sql读取hive底层_scala – 从一个hive表中读取并使用spark sql写回来
我正在使用Spark SQL读取Hive表并将其分配给 scala val val x = sqlContext.sql("select * from some_table") 然 ...
- 使用Spark SQL读取Hive上的数据
Spark SQL主要目的是使得用户可以在Spark上使用SQL,其数据源既可以是RDD,也可以是外部的数据源(比如Parquet.Hive.Json等).Spark SQL的其中一个分支就是Spar ...
- 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作
转载自 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作 供稿 | eBay ADI-Carmel Team 作者 | 金澜涛 编辑 | 顾欣怡 本文7309字,预计阅读时 ...
- Spark SQL整合Hive
Spark SQL官方释义 Spark SQL is Apache Spark's module for working with structured data. 一.使用Spark SQL访问Hi ...
- spark基础之Spark SQL和Hive的集成以及ThriftServer配置
如果希望Maven编译Spark时支持Hive,需要给定-Phive -Phive-thriftserver.比如比如:mvn -Pyarn -Phadoop-2.6 -Dhadoop.version ...
- spark sql读写hive的过程
Spark sql读写hive需要hive相关的配置,所以一般将hive-site.xml文件放到spark的conf目录下.代码调用都是简单的,关键是源码分析过程,spark是如何与hive交互的. ...
- Hive on Spark和Spark sql on Hive,你能分的清楚么
摘要:结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序. 本文分享自华为云社区<Hive on Spark和Spark sql o ...
- spark sql on hive初探
前一段时间由于shark项目停止更新,sql on spark拆分为两个方向,一个是spark sql on hive,另一个是hive on spark.hive on spark达到可用状态估计还 ...
最新文章
- windows mysql增量备份_windows下mysql增量备份与全备份批处理
- 变量的存储类别以及作用空间
- Codeforces Round #168 (Div. 2)---A. Lights Out
- 调整 Docker 中 nginx 的日志级别
- [机器学习笔记]Note15--大规模机器学习
- springboot用户管理系统_Springboot优秀开源项目
- Python-体育竞技模拟
- python实现实例_Python 练习实例65
- AAC音频的解码算法
- FPGA实现任意角度旋转图片
- 2018美赛数学建模竞赛论文(隐私成本)
- php laravel 下载远程图片
- 企业如何搭建内部知识库Wiki?为什么需要知识库?
- 2019 告辞了您嘞 ~
- javaspringboot面试,挑战华为社招
- 搜查令——项目个人总结+个人自评
- 知识点:matplotlib绘图的线条设置以及颜色设置
- Runaway Robot游戏通关算法实现过程总结
- iCollections for Mac(桌面文件整理软件)
- 全网5G最完整的PPT,全面解析什么是5G