2015-01-13 6 views
5

Ich versuche, Dateien aus einem Verzeichnis zu lesen, das viele Unterverzeichnisse enthält. Die Daten sind in S3 und ich versuche, dies zu tun:Dateien rekursiv aus Unterverzeichnissen mit Spark von s3 oder lokalem Dateisystem lesen

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]) 

dies scheint nicht zu funktionieren.

Schätzen Sie die Hilfe

+0

Haben Sie nicht versucht, starten nur mit 'textFile (" s3n: // /* ")'? –

+0

ja, das habe ich ausprobiert, funktioniert nicht – venuktan

+0

Bitte poste ein Beispiel wie die Verzeichnisse verschachtelt sind. Es gibt wahrscheinlich eine Lösung mit einfachen Platzhaltern, wie: 's3n: // bucket/*/*/*'. –

Antwort

9

ja es funktioniert, dauerte eine Weile, um die einzelnen Blöcke zu bekommen/spaltet aber im Grunde ein bestimmtes Verzeichnis in jedem Unterverzeichnis: s3n://bucket/root_dir/*/data/*/*/*

+0

Diese Antwort ist nicht klar: Was bedeutet "ein bestimmtes Verzeichnis in jedem Unterverzeichnis"? Ihr Beispiel zeigt das auch nicht. Danke! – javadba

+0

s3n: // bucket/root_dir/*/data/*/*/* in der obigen URL versuche ich, die dir-Daten zu lesen. Das übergeordnete Verzeichnis der Daten ist variabel und so habe ich "*" verwendet. Ich hoffe, das hilft. – venuktan

+0

Klingt wie ein anderer Anwendungsfall als meins - was "dir/some/hdfs/dir" gegeben wird: finde alle Dateien darunter. Die Struktur/einige/hdfs/dir/*/*/*/*. "Funktioniert nicht: hdfs -dfs gibt einen Fehler in einem der gefundenen Verzeichniseinträge zurück. – javadba

-1

ok, versuchen Sie dies:

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 Listen rekursiv, analysieren dann diejenigen, die mit „d“

Verwandte Themen