内容来源于 Stack Overflow,遵循 CC BY-SA 4.0 许可协议进行翻译与使用。IT领域专用引擎提供翻译支持
腾讯云小微IT领域专用引擎提供翻译支持
目前,我正在进行一项练习,要求在PySpark中创建数据库和表,并使用它们。问题是我之前创建了一个数据库,所以我决定在启动新的数据库之前删除所有相关的内容( spark-warehouse folder 、 metastore_db folder 、 derby.log file )。
spark-warehouse folder
metastore_db folder
derby.log file
现在,当我第一次用下面的代码创建一个新的数据库和新表时,它可以工作。
spark.sql("CREATE DATABASE IF NOT EXISTS asm1_db") spark.sql("USE asm1_db") dfQ1.write.bucketBy(2, "Id").mode("overwrite").saveAsTable("asm1_db.tableQ1") dfA1.write.bucketBy(2, "ParentId").mode("overwrite").saveAsTable("asm1_db.tableA1")
但是表和数据库不会保存。例如,以下代码:
spark.sql("USE asm1_db") => Can't find the database
我必须再次创建数据库,即使这样,表也不会保存
spark.sql("CREATE DATABASE IF NOT EXISTS asm1_db") spark.sql("USE asm1_db")