首页 > 解决方案 > 如何使用 Spark SQL Scala API(不是 SQL)检查 Hive 表是否为外部表

问题描述

我正在使用以下代码(Spark SQL Scala API)来检查 Hive 表是否是外部表,但TableAPI 没有回答给定表是否为外部表的方法。

我会问如何使用 Spark SQL Scala API(不是 SQL)检查 Hive 表是否是外部表</p>

代码是:

val spark = SparkSession.builder().master("local").appName("SparkSQLTest1-1").enableHiveSupport().getOrCreate()
val table = spark.catalog.getTable("db1.t1")

标签: apache-spark

解决方案


您可以使用目录 API:

sparkSession.catalog.listTables("db1")
.where($"name"==="t1")
.select($"tableType")
.as[String]
.first

MANAGED表示 hive 管理的表,EXTERNAL将是 hive 外部表


推荐阅读