Azure Databricks INFORMATION_Schema
Azure Databricks INFORMATION_Schema
我正在使用 Azure Databricks,需要找到一种方法来找出在多个表中哪些列允许为 NULL。对于 MySQL,Databricks 中不存在众所周知的 Information_Schema。
我现在的想法是使用 Spark SQL 从那里创建模式。我现在想知道这是否是生成信息模式的等效方法?我的方法是这样的:
df = spark.sql("Select * from mytable")
df.schema
如有任何意见,我们将不胜感激!
默认情况下,在 Spark 中,Dataframe 的任何列都可以为空。如果你需要强制某些数据不应该为空,那么你要么使用代码在写入数据之前进行检查,要么你可以使用 constraints supported by Delta tables,如 NOT NULL
,或 CHECK
(对于任意条件)。有了这些约束,Spark 会在写入前检查数据,如果数据不符合给定的约束,Spark 就会失败,就像这样:
P.S> 如果您使用 describe table
或 describe table extended
等 SQL 命令,您可以获得有关 table 的架构和这些约束的更多信息。
我正在使用 Azure Databricks,需要找到一种方法来找出在多个表中哪些列允许为 NULL。对于 MySQL,Databricks 中不存在众所周知的 Information_Schema。
我现在的想法是使用 Spark SQL 从那里创建模式。我现在想知道这是否是生成信息模式的等效方法?我的方法是这样的:
df = spark.sql("Select * from mytable")
df.schema
如有任何意见,我们将不胜感激!
默认情况下,在 Spark 中,Dataframe 的任何列都可以为空。如果你需要强制某些数据不应该为空,那么你要么使用代码在写入数据之前进行检查,要么你可以使用 constraints supported by Delta tables,如 NOT NULL
,或 CHECK
(对于任意条件)。有了这些约束,Spark 会在写入前检查数据,如果数据不符合给定的约束,Spark 就会失败,就像这样:
P.S> 如果您使用 describe table
或 describe table extended
等 SQL 命令,您可以获得有关 table 的架构和这些约束的更多信息。