apache-spark - 如何使用 Spark SQL Scala API(不是 SQL)检查 Hive 表是否为外部表
问题描述
我正在使用以下代码(Spark SQL Scala API)来检查 Hive 表是否是外部表,但Table
API 没有回答给定表是否为外部表的方法。
我会问如何使用 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")
解决方案
您可以使用目录 API:
sparkSession.catalog.listTables("db1")
.where($"name"==="t1")
.select($"tableType")
.as[String]
.first
MANAGED
表示 hive 管理的表,EXTERNAL
将是 hive 外部表
推荐阅读
- android - 使用 PDF 库在现有 PDF 文件上绘制小图像
- java - 如何使用 Apache POI 自动调整工作表中所有列的大小
- ios - 如何使用静态方法更改属性值?
- java - 当我从 arraylist 调用时,为什么会有多个输出?
- jms - 嵌入 ActiveMQ Artemis 的 JBoss EAP 7.1 之间的远程查找失败
- java - 如何将 JSON 字符串转换为 JSON 数组列表?
- javascript - 如何在 Javascript 中自动更改页面?
- java - 如何让 WebApp 在嵌入式码头的类路径上找到应用程序属性?
- c++ - (ODR 使用问题)不同文件中同名结构的 priority_queue
- php - 如何在php中编写一个可以像func(a)(b)(c)一样调用的函数?