scala—使用s3或本地文件系统的spark从子目录递归读取文件

jchrr9hc  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(464)

我试图从包含许多子目录的目录中读取文件。数据在s3中,我正在尝试这样做:

val rdd =sc.newAPIHadoopFile(data_loc,
    classOf[org.apache.hadoop.mapreduce.lib.input.TextInputFormat],
    classOf[org.apache.hadoop.mapreduce.lib.input.TextInputFormat],
    classOf[org.apache.hadoop.io.NullWritable])

这似乎不起作用。
感谢你的帮助

nhhxz33t

nhhxz33t1#

是的,它可以工作,但是需要一段时间来获得单个块/分割,基本上每个子目录中都有一个特定的目录: s3n://bucket/root_dir/*/data/*/*/*

kqhtkvqz

kqhtkvqz2#

好的,试试这个:

hadoop fs -lsr
drwxr-xr-x   - venuktangirala supergroup          0 2014-02-11 16:30 /user/venuktangirala/-p
drwxr-xr-x   - venuktangirala supergroup          0 2014-04-15 17:00 /user/venuktangirala/.Trash
drwx------   - venuktangirala supergroup          0 2015-02-11 16:16 /user/venuktangirala/.staging
-rw-rw-rw-   1 venuktangirala supergroup      19823 2013-10-24 14:34 /user/venuktangirala/data
drwxr-xr-x   - venuktangirala supergroup          0 2014-02-12 22:50 /user/venuktangirala/pandora
``` `-lsr` 以递归方式列出,然后解析不以“d”开头的

相关问题