有没有办法在笔记本中使用 PySpark 列出目录?

Posted

技术标签:

【中文标题】有没有办法在笔记本中使用 PySpark 列出目录?【英文标题】:Is there a way to list the directories in a using PySpark in a notebook? 【发布时间】:2020-06-28 07:08:31 【问题描述】:

我试图查看每个文件都是某个目录,但是由于目录中的每个文件都非常大,所以我无法使用 sc.wholeTextfile 或 sc.textfile。我只想从中获取文件名,然后在需要时将文件拉到不同的单元格中。我可以使用 Cyber​​duck 很好地访问这些文件,它会在那里显示名称。

例如:我在“name:///mainfolder/date/sectionsofdate/indiviual_files.gz”中有一组数据的链接,它可以工作,但我想查看“/mainfolder”中的文件名/date”和“/mainfolder/date/sectionsofdate”,而无需通过 sc.textFile 或 sc.Wholetextfile 将它们全部加载。这两个功能都有效,所以我知道我的键是正确的,但是加载它们需要很长时间。

【问题讨论】:

您要列出amazon-s3 存储桶中的文件吗? 请查看“How to Ask”、“Stack Overflow question checklist”及其所有链接页面以及“How To s The Smart Way” @Saurabh 我很肯定它是一个 amazon-s3 存储桶,但他们网站上的任何文档都对我的问题没有帮助,因为它一直说“凭据不正确”。我知道我的访问密钥是正确的,我可以从我拥有的一个链接中提取数据,但我想要一种简单的方法来查找其余部分的名称。 【参考方案1】:

考虑到文件列表可以由单个节点检索,您可以只列出目录中的文件。看this的回复。

wholeTextFiles返回一个元组(路径,内容)但不知道文件内容是不是懒得只获取元组的第一部分。

【讨论】:

这个解决方案对我不起作用。它一直给我错误说“没有用于方案的文件系统”。我有一个有效的数据库链接,但我想查看其他目录,例如我在 Cyber​​Duck 上可以查看的目录

以上是关于有没有办法在笔记本中使用 PySpark 列出目录?的主要内容,如果未能解决你的问题,请参考以下文章

使用 pyspark/python 列出 AWS S3 目录中的文件

有没有办法在 ftp 中列出本地目录的内容?

PySpark 使用过程中遇到的典型问题及处理办法

有没有办法在 pyspark 中获取列数据类型?

在 PySpark 中读取文本文件时有没有办法控制分区数

在 PySpark 中,有没有办法使用运行时给出的 Python 类的函数来动态注册 UDF? [复制]