【问题标题】:Query table schema from databricks query window?从数据块查询窗口查询表模式?
【发布时间】:2021-04-30 15:08:30
【问题描述】:
我可以运行简单的 SQL 查询来从表中选择数据,使用我工作的开发人员使用的 azure databricks 的配置实例。我想描述一下表结构。但是,如果我尝试,databricks 会返回错误。 (以下)。这是因为 databricks 查询仅限于处理数据吗?
声明:
描述表名
错误:
错误 [42000] [Microsoft][ODBC Oracle 有线协议驱动程序][Oracle]ORA-00900: SQL 语句无效
【问题讨论】:
标签:
sql
apache-spark
databricks
azure-databricks
【解决方案1】:
DESCRIBE TABLE 适用于在 Hive 元存储中注册的表或 Databricks 上的 Delta 表(Spark docs、Databricks docs) - 它可能适用于支持新目录 API 的数据源。在许多数据库中,DESCRIBE 命令处于工具级别,而不是 SQL 层 - 这就是您会收到错误的原因。
根据您访问数据库的方式,您可能只是尝试调用:
df = spark.read.jdbc....
df.printSchema()
但这将是 Spark 所理解的架构,而不是数据库中的实际架构。另一种方法可能只是使用 JDBC API 来获取模式,类似于 answer。