[SPARK-20487][SQL] Display serde
for HiveTableScan
node in explained plan
## What changes were proposed in this pull request? This was a suggestion by rxin at https://github.com/apache/spark/pull/17780#issuecomment-298073408 ## How was this patch tested? - modified existing unit test - manual testing: ``` scala> hc.sql(" SELECT * FROM tejasp_bucketed_partitioned_1 where name = '' ").explain(true) == Parsed Logical Plan == 'Project [*] +- 'Filter ('name = ) +- 'UnresolvedRelation `tejasp_bucketed_partitioned_1` == Analyzed Logical Plan == user_id: bigint, name: string, ds: string Project [user_id#24L, name#25, ds#26] +- Filter (name#25 = ) +- SubqueryAlias tejasp_bucketed_partitioned_1 +- CatalogRelation `default`.`tejasp_bucketed_partitioned_1`, org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, [user_id#24L, name#25], [ds#26] == Optimized Logical Plan == Filter (isnotnull(name#25) && (name#25 = )) +- CatalogRelation `default`.`tejasp_bucketed_partitioned_1`, org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, [user_id#24L, name#25], [ds#26] == Physical Plan == *Filter (isnotnull(name#25) && (name#25 = )) +- HiveTableScan [user_id#24L, name#25, ds#26], CatalogRelation `default`.`tejasp_bucketed_partitioned_1`, org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, [user_id#24L, name#25], [ds#26] ``` Author: Tejas Patil <tejasp@fb.com> Closes #17806 from tejasapatil/add_serde.
This commit is contained in:
parent
77bcd77ed5
commit
814a61a867
|
@ -444,7 +444,11 @@ abstract class TreeNode[BaseType <: TreeNode[BaseType]] extends Product {
|
|||
case None => Nil
|
||||
case Some(null) => Nil
|
||||
case Some(any) => any :: Nil
|
||||
case table: CatalogTable => table.identifier :: Nil
|
||||
case table: CatalogTable =>
|
||||
table.storage.serde match {
|
||||
case Some(serde) => table.identifier :: serde :: Nil
|
||||
case _ => table.identifier :: Nil
|
||||
}
|
||||
case other => other :: Nil
|
||||
}.mkString(", ")
|
||||
|
||||
|
|
|
@ -43,7 +43,9 @@ class HiveExplainSuite extends QueryTest with SQLTestUtils with TestHiveSingleto
|
|||
|
||||
test("explain extended command") {
|
||||
checkKeywordsExist(sql(" explain select * from src where key=123 "),
|
||||
"== Physical Plan ==")
|
||||
"== Physical Plan ==",
|
||||
"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe")
|
||||
|
||||
checkKeywordsNotExist(sql(" explain select * from src where key=123 "),
|
||||
"== Parsed Logical Plan ==",
|
||||
"== Analyzed Logical Plan ==",
|
||||
|
|
Loading…
Reference in a new issue