gzipped Parquet 文件在 HDFS for Spark 中可拆分吗?

2023-12-20

在互联网上搜索和阅读有关此主题的答案时,我收到了令人困惑的消息。有人可以分享他们的经验吗?我知道 gzipped csv 不是这样的事实,但也许 Parquet 的文件内部结构是这样的,Parquet 与 csv 的情况完全不同?


使用 GZIP 压缩的 Parquet 文件实际上是可拆分的。这是因为 Parquet 文件的内部布局。它们始终是可分割的,与所使用的压缩算法无关。

这一事实主要是由于 Parquet 文件的设计分为以下几个部分:

  1. 每个 Parquet 文件由多个 RowGroup 组成,这些 RowGroup 的大小应与 HDFS 块大小相同。
  2. 每个 RowGroup 每列由一个 Column chunk 组成。行组中的每个列块具有相同数量的行。
  3. ColumnChunk 被分割成页面,这些页面的大小可能为 64KiB 到 16MiB。压缩是按页进行的,因此页面是作业可以处理的最低并行化级别。

您可以在这里找到更详细的解释:https://github.com/apache/parquet-format#file-format https://github.com/apache/parquet-format#file-format

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gzipped Parquet 文件在 HDFS for Spark 中可拆分吗? 的相关文章

  • 指定 Parquet 属性 pyspark

    如何在 PySpark 中指定 Parquet 块大小和页面大小 我到处搜索 但找不到任何有关函数调用或导入库的文档 根据火花用户档案 https mail archives apache org mod mbox spark user 2
  • 将结构数组分解为 Spark 中的列

    我想将结构数组分解为列 由结构字段定义 例如 root arr array nullable true element struct containsNull true id long nullable false name string
  • 从 Spark 数据帧中过滤大量 ID

    我有一个大型数据框 其格式类似于 ID Cat date 12 A 201602 14 B 201601 19 A 201608 12 F 201605 11 G 201603 我需要根据大约 500 万个 Is 的列表来过滤行 最直接的方
  • SparkSession 初始化需要很长时间

    SparkSession 初始化需要很长时间才能成功 这是我的代码 import findspark findspark init import pyspark from pyspark sql import SparkSession sp
  • 更改spark_temporary目录路径

    是否可以更改 temporarySpark在写入之前保存临时文件的目录 特别是 由于我正在编写表的单个分区 因此我希望临时文件夹位于分区文件夹内 是否可以 由于其实现原因 无法使用默认的 FileOutputCommiter FileOut
  • Scala中如何将DataFrame转换为RDD?

    有人可以分享一下如何转换dataframe to an RDD Simply val rows RDD Row df rdd
  • 如何从 Spark MLLib 中的 TF Vector RDD 获取单词详细信息?

    我使用创建了术语频率HashingTF在斯帕克 我已经使用术语频率tf transform对于每个单词 但结果是以这种格式显示的
  • Spark - Scala - 用另一个数据帧中的查找值替换数据帧中的值

    我正在 Databricks 上使用 Spark 编程语言是Scala 我有两个数据框 主要数据框 见截图 1 https i stack imgur com EShir png 查找数据框 见截图3 https i stack imgur
  • 优化 HTML 属性压缩顺序

    我在某处读到 按一定顺序组织 HTML 属性可以提高 HTML 文档的压缩率 我想我是从 Google 或 Yahoo 推荐的更快网站上读到这篇文章的 如果我没记错的话 建议是将最常见的属性放在第一位 例如id等 然后将其余的按字母顺序排列
  • mmap 和 gzip 可以协作吗?

    我试图弄清楚如何将 mmap 与 gzip 压缩文件一起使用 这可能吗 import mmap import os import gzip filename r C temp data gz file gzip open filename
  • Spark RDD默认分区数

    版本 Spark 1 6 2 Scala 2 10 我正在执行以下命令spark shell 我试图查看 Spark 默认创建的分区数量 val rdd1 sc parallelize 1 to 10 println rdd1 getNum
  • Pyspark显示最大值(S)和多重排序

    感谢这里的一些帮助 使用Pyspark 请不能使用SQL 所以我有一个存储为 RDD 对的元组列表 城市1 2020 03 27 X1 44 城市1 2020 03 28 X1 44 City3 2020 03 28 X3 15 City4
  • 如何从 SparkSQL DataFrame 中的 MapType 列获取键和值

    我的镶木地板文件中有数据 该文件有 2 个字段 object id String and alpha Map lt gt 它被读入 SparkSQL 中的数据帧 其架构如下所示 scala gt alphaDF printSchema ro
  • 任务和分区之间有什么关系?

    我能说 么 Spark任务的数量等于Spark分区的数量吗 执行器运行一次 执行器内部的批处理 等于一个任务吗 每个任务只产生一个分区 1 的重复 并行度或可以同时运行的任务数量由以下公式设置 Executor实例的数量 配置 每个执行器的
  • 为什么 Spark 比 Hadoop MapReduce 更快

    有人可以使用字数统计示例解释一下为什么 Spark 比 MapReduce 更快吗 bafna的答案提供了故事的记忆方面 但我想补充另外两个重要事实 DAG和生态系统 Spark 使用 惰性求值 来形成连续计算阶段的有向无环图 DAG 通过
  • 谷歌应用程序引擎 urlfetch gzip 到字符串

    使用 Google App Engine 我尝试从包含一个 csv 文件的 URL 中获取 gzip 文件 最终我想在我的网页上输出csv文件的内容 我现在有以下代码 usr bin env python import webapp2 fr
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • 使用spark phoenix从表中读取rdd分区号为1

    当我运行我的火花代码时 val sqlContext spark sqlContext val noact table primaryDataProcessor getTableData sqlContext zookeeper table
  • 如何使用 SparkR 1.6.0 写入 JDBC 源?

    使用 SparkR 1 6 0 我可以使用以下代码从 JDBC 源读取数据 jdbc url lt jdbc mysql localhost 3306 dashboard user
  • 在 Spark 中计算逻辑回归系数的标准误差

    我知道这个问题之前已经被问过here https stackoverflow com questions 37816701 calculating standard error of estimate wald chi square sta

随机推荐

  • 如何判断一个整数是偶数还是奇数[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions def is odd num Ret
  • ASP.NET 与 EVAL 绑定

    我正在尝试对 asp net 组合框执行以下操作 Text 我想做的是 如果 名称 列为空 则绑定到 其他 列 否则绑定到 名称 列 任何人都知道正确的语法 不断获取未设置为引用的对象 我在 VB Net 中这样做 Thanks Jim 试
  • android 媒体播放器媒体控制器超时

    我已经实现了一个媒体播放器和媒体控制器来传输 mp3 url 然而 我在 TMobile 网络上的设备无法获得良好的 3G 信号 因此它在 EDGE 上运行 我假设媒体播放器因流太慢或不完整而崩溃 是否可以设置超时 没有timeout中的方
  • 拥有字符串映射如何将其与给定字符串进行比较

    我们有像 name location 这样的字符串对的映射 unix 就像绝对位置 a lamyfolder 我们得到了一些位置a lamyfolder mysubfolder myfile 如何找到哪个地图位置最适合给定的网址 例如我们有
  • 通过 DispatchGroup 与 DispatchQueue 访问主队列

    我在一个在后台线程上运行的类中使用 DispatchGroup 偶尔需要更新UI 所以调用如下代码 dispatchGroup notify queue main self delegate moveTo sender self locat
  • 在Spring Boot MVC中添加ShallowEtagHeaderFilter

    我正在尝试调整我的应用程序配置以设置 ETag 支持 我刚刚检查过this https stackoverflow com questions 26151057 add a servlet filter in a spring boot a
  • 如何更改Xamarin菜单栏中的后退按钮?

    这就是我所拥有的 这就是我想要得到的 如果导航堆栈中没有页面 则标题图标将位于左上角 否则将有后退箭头和 后退 文本 我没有找到任何自定义它的选项 有可能吗 如果您使用的话 您可以将箭头更改为汉堡包图标MasterPage在导航页面内 De
  • 如何允许外部访问私有 Azure DevOps NuGet 源

    情况如下 DevOps Org A维护私有 NuGet 提要 DevOps Org B需要在其 Pipelines 中使用上述 feed 中的包 目前的解决方案包括 添加用户U from Org B作为客人Org A具有利益相关者角色的 D
  • 恒等函数在哪里以及为什么有用?

    我明白为什么函数组合很重要 它允许从小而简单的函数构建大而复杂的函数 val f A gt B val g B gt C val h f andThen g compose f and g 该成分符合identity and 关联性 law
  • 产品图片不显示 (Woocommerce)

    我的产品图片出现 但当我点击进入产品页面时 图片被隐藏 只有当我点击时才会出现 某些产品会在其他浏览器上显示 某些产品仅在 Microsoft Edge 上显示 Edit The real problem to that was cloud
  • 替换 PHPUnit 方法 `withConsecutive` (在 PHPUnit 10 中废弃)

    作为方法withConsecutive将在 PHPUnit 10 中删除 在 9 6 中已弃用 我需要将此方法的所有出现替换为新代码 尝试寻找一些解决方案 但没有找到任何合理的解决方案 例如 我有一个代码 this gt personSer
  • Django-graphene 同一模型有多种类型

    我有一个相当大的graphene djangoAPI 为两个应用程序提供支持 我限制对某些字段的访问的第一个方法是拥有多个DjangoObjectTypes对于同一型号 并使用fields限制每种类型可以访问哪些字段 示例Organizat
  • 节点应用程序 docker 映像在本地运行并在 Amazon ECS 上失败

    该应用程序可以在本地正常部署和运行很长一段时间 没有出现任何问题 然而 在 Amazon ECS 上 它似乎总是在空闲运行大约 2 30 分钟后崩溃 怎么了 Dockerfile Set the node alpine base image
  • 计算 SPARQL 中的个体数量

    我对 SPARQL 完全陌生 我想计算这个本体中的参与者数量 http data linkedmdb org directory actor http data linkedmdb org directory actor 我尝试了以下方法
  • 为什么 Mercurial 合并时很笨?如何使拉取/合并更改变得更简单?

    我刚刚开始使用 Mercurial 我想我正在尝试做一些非常简单的事情 一些应该非常典型的事情 但我很困惑为什么它如此复杂 以及为什么它不能按应有的方式工作 国际海事组织 我与朋友共享一些存储库 他做了一些更改并检查了几个文件并推送它们 现
  • 如何在asp.net mvc中回发后清除字段?

    我想知道如何在 ASP NET MVC 回发后清除字段 就像现在 当发生验证错误时 字段会保留用户输入的内容 不过 这很好 当没有发生验证错误时 我希望清除所有字段并显示一条消息 所以现在我使用 ViewData 成功显示 但不确定如何清除
  • Kotlin 多平台:JobCancellationException:父作业已完成

    我尝试编写一个使用 ktor 的 kotlin 多平台库 android 和 ios 因此 我在 kotlins 协程方面遇到了一些问题 When writing tests I always get kotlinx coroutines
  • 通过构建管道将 ASP.NET 应用程序部署到 Azure 应用服务

    我继承了一个 ASP NET 4 7 2 应用程序 它在我的计算机上成功运行和启动 我现在尝试通过 Azure DevOps Pipeline 将其部署到 Azure 应用服务 为了尝试做到这一点 我创建了一个 Azure 构建管道 其中包
  • mod_rewrite 在 URL 中带有尾随句点

    我的 Apache 上有一个 RewriteRule 以使 URL 变得友好 RewriteRule log script php u 1 QSA 这使得http example com log 用户名 http example com l
  • gzipped Parquet 文件在 HDFS for Spark 中可拆分吗?

    在互联网上搜索和阅读有关此主题的答案时 我收到了令人困惑的消息 有人可以分享他们的经验吗 我知道 gzipped csv 不是这样的事实 但也许 Parquet 的文件内部结构是这样的 Parquet 与 csv 的情况完全不同 使用 GZ