Apache spark Spark—如何获取配置单元视图或表指向的快照名称

Apache spark Spark—如何获取配置单元视图或表指向的快照名称,apache-spark,hive,Apache Spark,Hive,在配置单元中,可以使用命令获取与视图相关的元数据: show create table myDataBase.myTable 这将返回如下结果: CREATE VIEW `myDataBase.myTable` AS SELECT `myTable_20170816073203`.`col1`, `myTable_20170816073203`.`col2`, `myTable_20170816073203`.`col3`, `myTable_20170816073203`.`col4` F

在配置单元中,可以使用命令获取与视图相关的元数据:

show create table myDataBase.myTable
这将返回如下结果:

CREATE VIEW `myDataBase.myTable` AS SELECT `myTable_20170816073203`.`col1`, `myTable_20170816073203`.`col2`, `myTable_20170816073203`.`col3`, `myTable_20170816073203`.`col4`  FROM `myDataBase`.`myTable_20170816073203`
val metadata =  sqlContext.sql("show create table myDataBase.myTable")
可以从Spark运行配置单元查询,然后将结果存储在变量中,执行以下操作:

CREATE VIEW `myDataBase.myTable` AS SELECT `myTable_20170816073203`.`col1`, `myTable_20170816073203`.`col2`, `myTable_20170816073203`.`col3`, `myTable_20170816073203`.`col4`  FROM `myDataBase`.`myTable_20170816073203`
val metadata =  sqlContext.sql("show create table myDataBase.myTable")
问题是我无法从输出中读取特定字段,即一个数据帧,其中有一列名为result:

org.apache.spark.sql.DataFrame = [result: string]
获取的信息与运行配置单元查询时的信息相同:

CREATE VIEW `myDataBase.myTable` AS SELECT `myTable_20170816073203`.`col1`, `myTable_20170816073203`.`col2`, `myTable_20170816073203`.`col3`, `myTable_20170816073203`.`col4`  FROM `myDataBase`.`myTable_20170816073203`
有人知道获取视图指向的快照值的其他方法吗?

为什么不知道

metadata.first.getString(0)


根据@user9787952所指出的,我发现下面的方法是解决这个问题的一种可能的方法。但这可能是实现这一目标的更有效方法

metadata.as[String].first.split(“”“).last.dropRight(1)

它将返回快照的日期部分

20170816073203

嗨,这就是我在考虑的。然后根据“.”应用拆分并获取最后一个元素。但我希望有一个更干净的选择。