Comment construire un sparkSession Spark 2.0 à l'aide de pyspark?
Je viens de recevoir l'accès à spark 2.0; j'ai été en utilisant étincelle 1.6.1 jusqu'à ce point. Quelqu'un peut-il svp m'aider à configurer un sparkSession à l'aide de pyspark (python)? Je sais que la scala exemples disponibles en ligne sont similaires (ici), mais j'espérais pour une procédure pas à pas en langage python.
Mon cas: je suis en cours de chargement dans avro des fichiers à partir de S3 dans un zeppelin allumage de l'ordinateur portable. Ensuite bâtiment df et de l'exécution de diverses pyspark & requêtes sql hors d'eux. Tous mes anciens utilisés pour les requêtes sqlContext. Je sais que c'est une mauvaise pratique, mais j'ai commencé mon portable avec
sqlContext = SparkSession.builder.enableHiveSupport().getOrCreate()
.
Je peux lire dans les avros avec
mydata = sqlContext.read.format("com.databricks.spark.avro").load("s3:...
et de construire dataframes sans problèmes. Mais une fois que j'ai commencer à interroger le dataframes/temp tables, je reçois le "java.lang.NullPointerException" erreur. Je pense que c'est le signe d'une translation d'erreur (par exemple, vieux requêtes travaillé dans 1.6.1 mais ont besoin d'être modifié pour la 2.0). L'erreur se produit quel que soit le type de requête. Je suis donc en supposant
1.) le sqlContext alias est une mauvaise idée
et
2.) J'ai besoin d'installer correctement un sparkSession.
Donc si quelqu'un pouvait me montrer comment c'est fait, ou peut-être expliquer les écarts qu'ils savent de entre les différentes versions d'étincelle, je vous en serais très reconnaissante. S'il vous plaît laissez-moi savoir si j'ai besoin de précisions sur cette question. Je m'excuse si c'est alambiqué.
Vous devez vous connecter pour publier un commentaire.
pour importer certains .fichier csv, vous pouvez utiliser
SparkSession
sans d'abord en montrant comment l'obtenir, comme vous l'avez démontré ici (viafrom pyspark.sql import SparkSession
).À partir d'ici http://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html
Vous pouvez créer une étincelle session à l'aide de ceci:
Comme vous pouvez le voir dans la scala exemple, une Étincelle Session fait partie du module sql. Similaire en python. donc, voir pyspark module sql de la documentation
.enableHiveSupport()
pour les autres méthodes appelées dansSparkSession.builder
, avant.getOrCreate()