【问题标题】:Spark DataFrame Zeppelin read foldersSpark DataFrame Zeppelin 读取文件夹
【发布时间】:2016-11-29 22:10:35
【问题描述】:

我在 Scala 中使用 google storage 和 Zeppelin,我可以使用下一个查询加载我所有的 json 文件。

sqlContext.read.json("gs://myBucket/*/jsonfile.json")

我的数据被构造成小块,每个块在myBucket 中都有自己的文件夹。在块文件夹中,我得到了与该块相关的文件

  • jsonfile.json
  • otherData.data
  • moreJsons.json

我想获取我所有的文件夹路径,而不是在不同的进程/任务中处理... 所以我可以做这样的事情:

if(isJson){
    sqlContext.read.json("gs://myBucket/chunkId/jsonfile.json")
}

在这个例子中,我知道 chank 路径:chunkId,并且我得到了 `isJson 的一些内部逻辑。

所以这就是我所需要的(我希望它有些清晰......)我的问题是:如何在不读取文件内容的情况下获取文件夹列表?

【问题讨论】:

    标签: scala dataframe apache-spark-sql apache-zeppelin


    【解决方案1】:

    Spark 没有用于列出文件的内置机制。您可以使用任何您想要执行此操作的机制。例如,如果 Google Storage 通过 Hadoop 文件系统进行映射,您可以使用 Hadoop API。使用您的集群实现快速的广度优先文件遍历,例如,我们在Swoop 用于快速临时任务。

    Distributed file listing using Spark and the Hadoop filesystem APIs

    【讨论】:

      猜你喜欢
      • 2020-11-12
      • 2016-01-03
      • 1970-01-01
      • 2019-01-26
      • 2022-01-13
      • 2021-06-27
      • 2016-09-13
      • 2018-10-05
      • 1970-01-01
      相关资源
      最近更新 更多