scala - 如何在spark中解压和读取包含多个压缩文件的文件
问题描述
我有一个 AA.zip 文件,它再次包含多个文件,例如 aa.tar.gz、bb.tar.gz 等
我需要在 spark scala 中阅读这些文件,我该如何实现?
这里唯一的问题是提取 zip 文件的内容。
解决方案
所以 HDFS 上的 ZIP 会有点棘手,因为它们不能很好地分割,所以你必须为每个执行程序处理 1 个或多个 zip 文件。这也是您可能不得不回退的少数情况之一,SparkContext
因为由于某种原因,Spark 中的二进制文件支持不是那么好。
https://spark.apache.org/docs/2.4.0/api/scala/index.html#org.apache.spark.SparkContext
有一个readBinaryFiles
那里可以让您访问 zip 二进制数据,然后您可以使用来自 java 或 scala 的通常的 ZIP 处理。
推荐阅读
- python - numpy索引到4维数组
- ios - CocoaPods 找不到 pod“CordovaPlugins”的兼容版本
- javascript - 将鼠标悬停在链接上时更改父 div 的 css
- tcl - 如何使用单行 TCL 命令从列表中复制文件?
- azure - 如何通过 Azure 门户将 Iptag 附加到公共 IP
- css - 如何将最后一行中的flexbox项目向左对齐
- xml - 您如何为播客订阅者创建和管理多个 RSS 提要/xml 文件?
- python - 在 numpy 数组中强制时用默认值替换错误
- c# - 在 MediatR 管道行为中返回错误的响应
- sitecore - Sitecore 10.1 | 仅当我检查“启用预览”站点属性(对于从不同站点引用的项目)时,站点解析才有效