Apache spark 使用Spark.sql插入TempView

Apache spark 使用Spark.sql插入TempView,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,如何在Spark SQL中进行简单的插入? 火花2.1 我能够使用spark内部的简单sql代码,使用spark.sql,但我不可能只进行插入 from pyspark.sql import SparkSession spark = SparkSession.builder.appName('Basics').getOrCreate() df=spark.read.json(/path/.'/people.json') df.sow() +-----+---------+

如何在Spark SQL中进行简单的插入? 火花2.1

我能够使用spark内部的简单sql代码,使用spark.sql,但我不可能只进行插入

  from pyspark.sql import SparkSession
  spark = SparkSession.builder.appName('Basics').getOrCreate()
  df=spark.read.json(/path/.'/people.json')

  df.sow()

  +-----+---------+   
  |age  | name    |
  +-----+---------+
  |null | Michael |
  | 30  | And     |
  +-----+---------+    

 df.CreateOrReplaceTempView('people') # create temp table

 spark.sql("SELECT * FROM people where age == 30")

  +-----+---------+   
  |age  | name    |
  +-----+---------+
  | 30  | Andy    |
  +-----+---------+ 
所以我理解SQL,但我不知道该插入谁


我尝试了我想象的所有可能的方法。

你不需要插入到数据帧中,它们是不可变的和懒惰的


您需要创建一个新的数据帧,它是原始数据帧和添加到其中的新数据帧之间的联合。

据我所知,这也取决于您正在编写的数据库,因为每个数据库都有自己的连接器(现有的或需要编写的连接器)。此外,Spark、Spark Direct Streaming和Spark Structures Streaming之间的答案可能有所不同。请注意,在您的评论开头使用“@DannyVarod”。@DannyVarod谢谢您的回答,我没有使用任何数据库。它是一个我在表中转换的数据帧,然后使用spark.sql它允许编写sql代码。适用于“选择”,但我正在尝试插入