【问题标题】:list S3 folder on EMR列出 EMR 上的 S3 文件夹
【发布时间】:2017-05-15 13:03:29
【问题描述】:

我不明白如何在 spark 作业期间简单地在 EMR 上列出 S3 存储桶的内容。 我想做以下事情

Configuration conf = spark.sparkContext().hadoopConfiguration();
FileSystem s3 = S3FileSystem.get(conf);
List<LocatedFileStatus> list = toList(s3.listFiles(new Path("s3://mybucket"), false))

这总是失败并出现以下错误

java.lang.IllegalArgumentException: Wrong FS: s3://*********/, expected: hdfs://**********.eu-central-1.compute.internal:8020

在hadoopConfiguration中fs.defaultFS -&gt; hdfs://**********.eu-central-1.compute.internal:8020

如果我不使用协议只是 /myfolder/myfile 而不是即 hdfs://myfolder/myfile,我理解它的方式将默认为 df.defaultFS。 但我希望如果我指定我的 s3://mybucket/ fs.defaultFS 应该无关紧要。

如何访问目录信息? spark.read.parquet("s3://mybucket/*.parquet") 工作得很好但是对于这个任务我需要检查一些文件的存在并且还想删除一些。我认为 org.apache.hadoop.fs.FileSystem 是正确的工具。

PS:我也不明白日志是如何工作的。如果我使用部署模式集群(我想从 s3 部署在客户端模式下不起作用的 jars),我只能在 s3://logbucket/j-.../containers/application... 中找到我的日志/容器...0001。在 S3 中显示之前有相当长的延迟。如何通过 ssh 在 master 上找到它?还是有一些更快/更好的方法来检查火花应用程序日志? 更新:刚刚在/mnt/var/log/hadoop-yarn/containers 下找到它们,但是它归 yarn:yarn 所有,作为 hadoop 用户我无法阅读。 :( 想法?

【问题讨论】:

  • 你有什么解决办法吗??

标签: amazon-web-services hadoop amazon-s3 amazon-emr


【解决方案1】:

我不认为你选择 FS 是对的;只需使用静态FileSystem.get() 方法,或Path.get()

尝试类似: Path p = new Path("s3://bucket/subdir"); FileSystem fs = p.get(conf); FileStatus[] status= fs.listStatus(p);

关于日志,YARN UI 应该允许您通过节点管理器查看它们。

【讨论】:

    【解决方案2】:

    在我的情况下,我需要读取由之前的 EMR 作业生成的 parquet 文件,我正在寻找给定 s3 前缀的文件列表,但好在我们不需要做所有这些,我们可以只需这样做: spark.read.parquet(bucket+prefix_directory)

    【讨论】:

      【解决方案3】:

      URI.create() 应该用来指向正确的文件系统。

      val fs: FileSystem = FileSystem.get(spark.sparkContext.hadoopConfiguration)
      
      val dirPaths = FileSystem.get(URI.create("<s3-path>"), fs.getConf).listStatus(new Path("<s3-path>"))```
      

      【讨论】:

        猜你喜欢
        • 2017-05-08
        • 1970-01-01
        • 2013-06-24
        • 2013-09-12
        • 2019-05-26
        • 1970-01-01
        • 1970-01-01
        • 2018-04-19
        • 2014-07-01
        相关资源
        最近更新 更多