В Hive можно получить метаданные, связанные с представлением, используя команду:
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`
Можно запускать запросы Hive из Spark, чтобы позже сохранить результат в переменной, выполнив что-то вроде:
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`
Кто-нибудь знает другой способ получить значение снимка, на который указывает представление?