Apache spark 使用Spark.sql插入TempView
如何在Spark SQL中进行简单的插入? 火花2.1 我能够使用spark内部的简单sql代码,使用spark.sql,但我不可能只进行插入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() +-----+---------+
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代码。适用于“选择”,但我正在尝试插入