DescribeDeltaDetailCommand (And DescribeDeltaDetailCommandBase)

DescribeDeltaDetailCommand represents DESCRIBE DETAIL SQL command at execution (and is created when DeltaSqlAstBuilder is requested to parse DESCRIBE DETAIL SQL command).

Like DESCRIBE DETAIL SQL command, DescribeDeltaDetailCommand accepts either a path or a table (e.g. '/tmp/delta/t1' or delta.`/tmp/delta/t1`)

(DESC | DESCRIBE) DETAIL (path | table)
DESCRIBE DETAIL SQL Command’s Demo
val q = sql("DESCRIBE DETAIL '/tmp/delta/users'")
scala> q.show
+------+--------------------+----+-----------+--------------------+--------------------+-------------------+----------------+--------+-----------+----------+----------------+----------------+
|format|                  id|name|description|            location|           createdAt|       lastModified|partitionColumns|numFiles|sizeInBytes|properties|minReaderVersion|minWriterVersion|
+------+--------------------+----+-----------+--------------------+--------------------+-------------------+----------------+--------+-----------+----------+----------------+----------------+
| delta|3799b291-dbfa-4f8...|null|       null|file:/tmp/delta/u...|2020-01-06 17:08:...|2020-01-06 17:12:28| [city, country]|       4|       2581|        []|               1|               2|
+------+--------------------+----+-----------+--------------------+--------------------+-------------------+----------------+--------+-----------+----------+----------------+----------------+

DescribeDeltaDetailCommand is the default and only known DescribeDeltaDetailCommandBase in Delta Lake.

DescribeDeltaDetailCommandBase is an extension of the RunnableCommand contract (from Spark SQL) for runnable commands.

Read up on RunnableCommand in The Internals of Spark SQL online book.

Creating DescribeDeltaDetailCommand Instance

DescribeDeltaDetailCommand takes the following to be created:

  • Table path

  • Table identifier (e.g. t1 or delta.`/tmp/delta/t1`)

Running Command — run Method

run(sparkSession: SparkSession): Seq[Row]
run is part of the RunnableCommand contract to…​FIXME.

run…​FIXME