DESCRIBE TABLE 查看哪些列不为空
DESCRIBE TABLE see which columns are NOT NULL
在 Apache Spark SQL (Azure Databricks) 中,我创建了一个 table,如下所示:
CREATE TABLE t(
a BIGINT,
b BIGINT NOT NULL
)
我已验证我有一个可为空的列和一个不可为空的列,因为如果我尝试在列 b
中插入 NULL
时出现错误,但我可以在列中插入空值a
.
但是,下面的语句
DESCRIBE TABLE t
没有告诉我哪些列可以为空,哪些列不能为空。 DESCRIBE TABLE EXTENDED
也没有。我怎样才能得到完整的描述?
使用这个
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = "database_name"
AND
TABLE_NAME ="t"
您要查找的列名为“IS_NULLABLE”
Spark SQL auxiliary commands 与 DESCRIBE TABLE
和 SHOW COLUMNS
一样,不会根据文档显示列 NULL 约束。
有这个命令:
SHOW TABLE EXTENDED like 't'
returns information
列中的架构以及其他信息,但可读性不高。
//Table Properties: [transient_lastDdlTime=1643396075]
//.....
//Partition Provider: Catalog
//Schema: root
// |-- a: long (nullable = true)
// |-- b: long (nullable = false)
但是如果您可以将 spark.catalog
与 scala/python api 一起使用,那么这很简单:
spark.catalog.listColumns("t").show()
//+----+-----------+--------+--------+-----------+--------+
//|name|description|dataType|nullable|isPartition|isBucket|
//+----+-----------+--------+--------+-----------+--------+
//| a| null| bigint| true| false| false|
//| b| null| bigint| false| false| false|
//+----+-----------+--------+--------+-----------+--------+
在 Apache Spark SQL (Azure Databricks) 中,我创建了一个 table,如下所示:
CREATE TABLE t(
a BIGINT,
b BIGINT NOT NULL
)
我已验证我有一个可为空的列和一个不可为空的列,因为如果我尝试在列 b
中插入 NULL
时出现错误,但我可以在列中插入空值a
.
但是,下面的语句
DESCRIBE TABLE t
没有告诉我哪些列可以为空,哪些列不能为空。 DESCRIBE TABLE EXTENDED
也没有。我怎样才能得到完整的描述?
使用这个
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = "database_name"
AND
TABLE_NAME ="t"
您要查找的列名为“IS_NULLABLE”
Spark SQL auxiliary commands 与 DESCRIBE TABLE
和 SHOW COLUMNS
一样,不会根据文档显示列 NULL 约束。
有这个命令:
SHOW TABLE EXTENDED like 't'
returns information
列中的架构以及其他信息,但可读性不高。
//Table Properties: [transient_lastDdlTime=1643396075]
//.....
//Partition Provider: Catalog
//Schema: root
// |-- a: long (nullable = true)
// |-- b: long (nullable = false)
但是如果您可以将 spark.catalog
与 scala/python api 一起使用,那么这很简单:
spark.catalog.listColumns("t").show()
//+----+-----------+--------+--------+-----------+--------+
//|name|description|dataType|nullable|isPartition|isBucket|
//+----+-----------+--------+--------+-----------+--------+
//| a| null| bigint| true| false| false|
//| b| null| bigint| false| false| false|
//+----+-----------+--------+--------+-----------+--------+