创建数据库 spark sql
Create database spark sql
我正在使用 Spark 2.4.4 和 AWS glue catalog。
在我的 spark 作业中,如果不存在,我需要在 glue 中创建一个数据库。我在 spark sql 中使用以下语句来执行此操作。
spark.sql("CREATE DATABASE IF NOT EXISTS %s".format(hiveDatabase));
它在 spark-shell
中按预期工作,在 Glue 中创建了一个数据库。
但是当我 运行 同一段代码使用 spark-submit
时,则不会创建数据库。使用 spark-submit 时是否需要执行 commit/flush?
编辑
show databases
in spark-shell
和 spark-submit
:
得到不同的结果
+---------------------+
|databaseName |
+---------------------+
|all |
|default |
|hive-db |
|navi-database-account|
|navi-par |
|testdb |
+---------------------+
+------------+
|databaseName|
+------------+
|default |
+------------+
看起来 spark-submit 正在某处创建数据库,但不是在粘合中。
需要添加以下配置:
("spark.sql.catalogImplementation", "hive")
我正在使用 Spark 2.4.4 和 AWS glue catalog。
在我的 spark 作业中,如果不存在,我需要在 glue 中创建一个数据库。我在 spark sql 中使用以下语句来执行此操作。
spark.sql("CREATE DATABASE IF NOT EXISTS %s".format(hiveDatabase));
它在 spark-shell
中按预期工作,在 Glue 中创建了一个数据库。
但是当我 运行 同一段代码使用 spark-submit
时,则不会创建数据库。使用 spark-submit 时是否需要执行 commit/flush?
编辑
show databases
in spark-shell
和 spark-submit
:
+---------------------+
|databaseName |
+---------------------+
|all |
|default |
|hive-db |
|navi-database-account|
|navi-par |
|testdb |
+---------------------+
+------------+
|databaseName|
+------------+
|default |
+------------+
看起来 spark-submit 正在某处创建数据库,但不是在粘合中。
需要添加以下配置:
("spark.sql.catalogImplementation", "hive")