J'ai des données de ligne au format compressé .gz. Je dois le lire dans pyspark Voici l'extrait de code
rdd = sc.textFile("data/label.gz").map(func)
Mais je ne pouvais pas lire le fichier ci-dessus avec succès. Comment puis-je lire le fichier compressé gz. J'ai trouvé une question similaire ici mais ma version actuelle de spark est différente de celle de cette question. Je pense qu’il devrait y avoir une fonction intégrée comme dans hadoop.
Spark document spécifiez clairement que vous pouvez lire le fichier gz
automatiquement:
Toutes les méthodes de saisie de fichiers de Spark, y compris textFile, prennent en charge fonctionnant sur des répertoires, des fichiers compressés et des caractères génériques. Pour Par exemple, vous pouvez utiliser textFile ("/ my/directory"), textFile ("/ mon/répertoire/.txt") et textFile ("/ mon/répertoire/ .gz").
Je suggère d'exécuter la commande suivante et de voir le résultat:
rdd = sc.textFile("data/label.gz")
print rdd.take(10)
En supposant que spark trouve le fichier data/label.gz
, il imprimera les 10 lignes du fichier.
Notez que l'emplacement par défaut d'un fichier tel que data/label.gz
sera dans le dossier hdfs de l'utilisateur spark. C'est ici?
Vous n'avez pas écrit le message d'erreur que vous avez reçu, mais il ne va probablement pas bien car les fichiers gzipped ne sont pas séparables . Vous devez utiliser un codec de compression pouvant être scindé, comme bzip2.