首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二进制文件的Spark read子组

二进制文件的Spark read子组
EN

Stack Overflow用户
提问于 2015-08-03 17:11:46
回答 1查看 1.1K关注 0票数 2

有没有一种简单的方法来使用Spark API (我使用PySpark API)和binaryFiles方法来读取目录中包含的给定文件集?

假设我有一个这样的文件夹:

代码语言:javascript
复制
/temp
  a.bin
  b.bin
  ...
  y.bin
  z.bin

我想读取g.bin、j.bin、d.bin、z.bin、l.bin、a.bin、i.bin、h.bin (这些是随机名称,可以在每次请求时更改)。

我如何使用binaryFiles读取这些文件,而不将它们复制到另一个目录中,因为它们是大文件?

现在,我正在创建一个带有符号链接的文件夹,并使用binaryFiles('./*')来读取该文件夹中的所有链接。但我认为它不适合长期使用。

一些技巧:我正在研究regexp,这样我就可以向binaryFiles传递一个自定义字符串来选择适当的文件,但是解决方案可能在其他地方,而且非常欢迎帮助。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-08-03 21:09:31

对于单字母前缀,您可以简单地使用glob模式:

代码语言:javascript
复制
sc.binaryFiles('[gjdzlaih].bin')

如果名称比较复杂,则可以更容易地提供逗号分隔的文件列表:

代码语言:javascript
复制
files = ['g.bin', 'j.bin', 'd.bin', 'z.bin', 'l.bin', 'a.bin', 'i.bin', 'h.bin']
sc.binaryFiles(','.join(files))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31783512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档