Comment createOrReplaceTempView travail dans l'Étincelle?
Je suis nouveau à l'Étincelle d'Allumage et de SQL.
Comment createOrReplaceTempView
travail dans l'Étincelle?
Si on enregistre une RDD
des objets comme un tableau étincelle conserver toutes les données dans la mémoire?
- Intéressant, si vous essayez de vider une base de données de l'Python contexte, de sorte qu'il est accessible par le SQL contexte?
Vous devez vous connecter pour publier un commentaire.
createOrReplaceTempView
crée (ou remplace si ce point de vue nom existe déjà) un paresseusement évalué "vue" que vous pouvez ensuite utiliser comme une table de la ruche Spark SQL. Il ne pas persistent à la mémoire, à moins que vous le cache de l'ensemble de données qui sous-tend la vue.Les données sont mises en cache pleinement qu'après la
.count
appel. Voici la preuve qu'il a été mis en cache:SI: spark createOrReplaceTempView vs createGlobalTempView
Citation (en comparant à la persistance de la table): "Contrairement à la createOrReplaceTempView commande, saveAsTable va se matérialiser le contenu du DataFrame et de créer un pointeur vers les données dans la Ruche metastore." de https://spark.apache.org/docs/latest/sql-programming-guide.html#saving-to-persistent-tables
Remarque :
createOrReplaceTempView
était autrefoisregisterTempTable
view
créer une table temporaire? Et, ne l'view
aucun nom de Spark comme table de la ruche?.cache()
et.count()
?scala
3 caractères loin...CreateOrReplaceTempView va créer une situation temporaire de la table sur la mémoire, il n'est pas presistant en ce moment, mais vous pouvez exécuter des requêtes sql sur le dessus de cela . si vous souhaitez l'enregistrer, vous pouvez soit persistent ou utiliser saveAsTable à enregistrer.
- nous d'abord de lire les données en format csv et ensuite de les convertir à la trame de données et créer un temp de vue
De la lecture des données au format csv
de l'impression du schéma
de données.printSchema
Maintenant, nous pouvons exécuter des requêtes sql sur le dessus de la table de la vue que nous venons de créer
SparkSQl en charge l'écriture de programmes à l'aide de Dataset et Dataframe de l'API, ainsi que la nécessité de soutenir sql.
Afin de soutenir Sql sur DataFrames, d'abord, il nécessite la définition d'un tableau avec les noms de colonnes sont nécessaires, ainsi que si elle crée des tables de la ruche metastore obtiendrez beaucoup inutile tables, car l'Étincelle-Sql natif se trouve sur la ruche. Donc, il va créer une situation temporaire, qui a temporairement disponible dans la ruche pour le moment et utilisé comme n'importe quelle autre table de la ruche, une fois que l'Étincelle Contexte arrêter, elle sera supprimée.
Afin de créer la vue, développeur a besoin d'un utilitaire appelé
createOrReplaceTempView