根据查看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"
mapreduce.output.fileoutputformat.compress.codec
  可用值:压缩编码类名,例如:"org.apache.hadoop.io.compress.GzipCodec"
mapreduce.output.fileoutputformat.compress.type

可用值:"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表时的压缩设置相关推荐

  1. Spark SQL操作Hive表

    Spark SQL支持从Hive存储中读写数据.然而,Hive存在很多的依赖,而这些依赖又不包含在默认的各类Spark发型版本中.如果将Hive的依赖放入classpath中,Spark将自动加载它们 ...

  2. spark sql读取hive底层_scala – 从一个hive表中读取并使用spark sql写回来

    我正在使用Spark SQL读取Hive表并将其分配给 scala val val x = sqlContext.sql("select * from some_table") 然 ...

  3. 使用Spark SQL读取Hive上的数据

    Spark SQL主要目的是使得用户可以在Spark上使用SQL,其数据源既可以是RDD,也可以是外部的数据源(比如Parquet.Hive.Json等).Spark SQL的其中一个分支就是Spar ...

  4. 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作

    转载自  实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作 供稿 | eBay ADI-Carmel Team 作者 | 金澜涛 编辑 | 顾欣怡 本文7309字,预计阅读时 ...

  5. Spark SQL整合Hive

    Spark SQL官方释义 Spark SQL is Apache Spark's module for working with structured data. 一.使用Spark SQL访问Hi ...

  6. spark基础之Spark SQL和Hive的集成以及ThriftServer配置

    如果希望Maven编译Spark时支持Hive,需要给定-Phive -Phive-thriftserver.比如比如:mvn -Pyarn -Phadoop-2.6 -Dhadoop.version ...

  7. spark sql读写hive的过程

    Spark sql读写hive需要hive相关的配置,所以一般将hive-site.xml文件放到spark的conf目录下.代码调用都是简单的,关键是源码分析过程,spark是如何与hive交互的. ...

  8. Hive on Spark和Spark sql on Hive,你能分的清楚么

    摘要:结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序. 本文分享自华为云社区<Hive on Spark和Spark sql o ...

  9. spark sql on hive初探

    前一段时间由于shark项目停止更新,sql on spark拆分为两个方向,一个是spark sql on hive,另一个是hive on spark.hive on spark达到可用状态估计还 ...

最新文章

  1. windows mysql增量备份_windows下mysql增量备份与全备份批处理
  2. 变量的存储类别以及作用空间
  3. Codeforces Round #168 (Div. 2)---A. Lights Out
  4. 调整 Docker 中 nginx 的日志级别
  5. [机器学习笔记]Note15--大规模机器学习
  6. springboot用户管理系统_Springboot优秀开源项目
  7. Python-体育竞技模拟
  8. python实现实例_Python 练习实例65
  9. AAC音频的解码算法
  10. FPGA实现任意角度旋转图片
  11. 2018美赛数学建模竞赛论文(隐私成本)
  12. php laravel 下载远程图片
  13. 企业如何搭建内部知识库Wiki?为什么需要知识库?
  14. 2019 告辞了您嘞 ~
  15. javaspringboot面试,挑战华为社招
  16. 搜查令——项目个人总结+个人自评
  17. 知识点:matplotlib绘图的线条设置以及颜色设置
  18. Runaway Robot游戏通关算法实现过程总结
  19. iCollections for Mac(桌面文件整理软件)
  20. 全网5G最完整的PPT,全面解析什么是5G

热门文章

  1. php如何把红包放地图上,PHP实现发红包程序
  2. 进程间通信(一)管道的pipe函数 FIFO的mkfifo函数
  3. JSON格式的字符串校验
  4. 微信公众号推广实用教程:H5游戏引流
  5. LVGL在STM32上的移植及触摸驱动移植(触摸屏控制版)
  6. WPF中DataGrid自动滚动,跑马灯效果实现
  7. Mac上Multitouch触控板手势使用技巧
  8. 太原理工大学机器人团队20天学习打卡day14(51单片机初步)
  9. ShareSDK for Android 第三方登录 授权与取消授权
  10. 移动宽带缓存个别网页,导致刷新无效和登录异常,今天解决