lecture d'un fichier dans hdfs de pyspark
J'essaie de lire un fichier dans mon hdfs. Voici une présentation de mon hadoop structure du fichier.
hduser@GVM:/usr/local/spark/bin$ hadoop fs -ls -R /
drwxr-xr-x - hduser supergroup 0 2016-03-06 17:28 /inputFiles
drwxr-xr-x - hduser supergroup 0 2016-03-06 17:31 /inputFiles/CountOfMonteCristo
-rw-r--r-- 1 hduser supergroup 2685300 2016-03-06 17:31 /inputFiles/CountOfMonteCristo/BookText.txt
Voici mon pyspark code:
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName("myFirstApp").setMaster("local")
sc = SparkContext(conf=conf)
textFile = sc.textFile("hdfs://inputFiles/CountOfMonteCristo/BookText.txt")
textFile.first()
L'erreur que j'obtiens est:
Py4JJavaError: An error occurred while calling o64.partitions.
: java.lang.IllegalArgumentException: java.net.UnknownHostException: inputFiles
Est-ce parce que je suis mon sparkContext de façon incorrecte? Je suis de l'exécution de cette dans une ubuntu 14.04 machine virtuelle via virtual box.
Je ne suis pas sûr de ce que je fais mal ici....
OriginalL'auteur user1357015 | 2016-03-07
Vous devez vous connecter pour publier un commentaire.
Vous pouvez avoir accès à HDFS fichiers via le chemin d'accès complet si aucune configuration.(namenodehost est votre localhost si hdfs est situé dans les locaux de l'environnement).
OriginalL'auteur Shawn Guo
Puisque vous n'avez pas de fournir l'autorité URI devrait ressembler à ceci:
sinon
inputFiles
est interprété comme un nom d'hôte. Avec la bonne configuration, vous ne devriez pas besoin de régime à tous une utilisation:à la place.
OriginalL'auteur zero323
Il y a deux façon de lire les fichiers dans l'Étincelle, l'un pour les grands-fichiers distribués à les traiter en parallèle, l'un pour la lecture de petits fichiers comme les tables de recherche et de configuration sur HDFS. Pour ce dernier, vous voudrez peut-être lire un fichier dans le pilote de nœud ou de travailleurs que d'une seule lecture (non distribué en lecture). Dans ce cas, vous devez utiliser
SparkFiles
module comme ci-dessous.OriginalL'auteur bekce