使用来自 s3 或本地文件系统的 spark 从子目录递归读取文件
read files recursively from sub directories with spark from s3 or local filesystem
我正在尝试从包含许多子目录的目录中读取文件。数据在 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])
这似乎不起作用。
感谢帮助
是的,它有效,但花了一段时间才得到个人 blocks/splits,基本上是每个子目录中的特定目录:
s3n://bucket/root_dir/*/data/*/*/*
好的,试试这个:
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"开头的
我正在尝试从包含许多子目录的目录中读取文件。数据在 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])
这似乎不起作用。
感谢帮助
是的,它有效,但花了一段时间才得到个人 blocks/splits,基本上是每个子目录中的特定目录:
s3n://bucket/root_dir/*/data/*/*/*
好的,试试这个:
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"开头的