Skip to content

Commit

Permalink
sql page
Browse files Browse the repository at this point in the history
  • Loading branch information
KaiXinXiaoLei committed May 14, 2016
1 parent 354f8f1 commit 3b5eb9b
Showing 1 changed file with 20 additions and 15 deletions.
Expand Up @@ -110,24 +110,29 @@ class QueryExecution(val sparkSession: SparkSession, val logical: LogicalPlan) {
*/
def hiveResultString(): Seq[String] = executedPlan match {
case ExecutedCommandExec(desc: DescribeTableCommand) =>
// If it is a describe command for a Hive table, we want to have the output format
// be similar with Hive.
desc.run(sparkSession).map {
case Row(name: String, dataType: String, comment) =>
Seq(name, dataType,
Option(comment.asInstanceOf[String]).getOrElse(""))
.map(s => String.format(s"%-20s", s))
.mkString("\t")
SQLExecution.withNewExecutionId(self, this) {
// If it is a describe command for a Hive table, we want to have the output format
// be similar with Hive.
desc.run(sparkSession).map {
case Row(name: String, dataType: String, comment) =>
Seq(name, dataType,
Option(comment.asInstanceOf[String]).getOrElse(""))
.map(s => String.format(s"%-20s", s))
.mkString("\t")
}
}
case command: ExecutedCommandExec =>
command.executeCollect().map(_.getString(0))

SQLExecution.withNewExecutionId(self, this) {
command.executeCollect().map(_.getString(0))
}
case other =>
val result: Seq[Seq[Any]] = other.executeCollectPublic().map(_.toSeq).toSeq
// We need the types so we can output struct field names
val types = analyzed.output.map(_.dataType)
// Reformat to match hive tab delimited output.
result.map(_.zip(types).map(toHiveString)).map(_.mkString("\t")).toSeq
SQLExecution.withNewExecutionId(self, this) {
val result: Seq[Seq[Any]] = other.executeCollectPublic().map(_.toSeq).toSeq
// We need the types so we can output struct field names
val types = analyzed.output.map(_.dataType)
// Reformat to match hive tab delimited output.
result.map(_.zip(types).map(toHiveString)).map(_.mkString("\t")).toSeq
}
}

/** Formats a datum (based on the given data type) and returns the string representation. */
Expand Down

0 comments on commit 3b5eb9b

Please sign in to comment.