gpt4 book ai didi

apache-spark - Pyspark - saveAsTable - 如何将新数据插入现有表?

转载 作者:行者123 更新时间:2023-12-05 03:04:05 24 4
gpt4 key购买 nike

如何向现有表中插入新数据???

我正在尝试使用 pyspark 将新数据插入现有表。

这是我的程序

from pyspark import SparkContext
from pyspark.sql import SQLContext, DataFrameWriter

sc = SparkContext("local[*]", "SPARK-SQL")
sqlContext = SQLContext(sc)

df = sqlContext.read.json("people.json")
df.registerTempTable("people")

# Show old data
result = sqlContext.sql("SELECT * from people")
result.show()

# Create new data
new_data = [{"name": "Phan", "age": 22}]
df_new_data = sqlContext.createDataFrame(new_data)
# Save data to table 'people'
df_new_data.write.mode("append").saveAsTable("people")

# Show new data
result = sqlContext.sql("SELECT * from people")
result.show()

在我运行它之后。 “people”表中的数据不能更改。

Old data
+---+--------+
|age| name|
+---+--------+
| 30| Michael|
| 30| Andy|
| 19| Justin|
| 21|PhanHien|
+---+--------+
New data
+---+--------+
|age| name|
+---+--------+
| 30| Michael|
| 30| Andy|
| 19| Justin|
| 21|PhanHien|
+---+--------+

请帮我更改表中的数据!!!谢谢!

最佳答案

我尝试使用表名不存在 saveAsTable。

df_new_data.write.mode("append").saveAsTable("people1")

# Show new data
result = sqlContext.sql("SELECT * from people1")
result.show()

成功了。我可以在表 "people1"

中看到新数据
+---+----+
|age|name|
+---+----+
|22 |Phan|
+---+----+

关于apache-spark - Pyspark - saveAsTable - 如何将新数据插入现有表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53212396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com