Class

org.apache.spark.sql.hive.execution

InsertIntoHiveTable

Related Doc: package execution

Permalink

case class InsertIntoHiveTable(table: MetastoreRelation, partition: Map[String, Option[String]], child: SparkPlan, overwrite: Boolean, ifNotExists: Boolean) extends SparkPlan with UnaryExecNode with Product with Serializable

Command for writing data out to a Hive table.

This class is mostly a mess, for legacy reasons (since it evolved in organic ways and had to follow Hive's internal implementations closely, which itself was a mess too). Please don't blame Reynold for this! He was just moving code around!

In the future we should converge the write path for Hive with the normal data source write path, as defined in org.apache.spark.sql.execution.datasources.FileFormatWriter.

table

the logical plan representing the table. In the future this should be a org.apache.spark.sql.catalyst.catalog.CatalogTable once we converge Hive tables and data source tables.

partition

a map from the partition key to the partition value (optional). If the partition value is optional, dynamic partition insert will be performed. As an example, INSERT INTO tbl PARTITION (a=1, b=2) AS ... would have

Map('a' -> Some('1'), 'b' -> Some('2'))

and INSERT INTO tbl PARTITION (a=1, b) AS ... would have

Map('a' -> Some('1'), 'b' -> None)

.

child

the logical plan representing data to write to.

overwrite

overwrite existing table or partitions.

ifNotExists

If true, only write if the table or partition does not exist.

Source
InsertIntoHiveTable.scala
Linear Supertypes
UnaryExecNode, SparkPlan, Serializable, Serializable, Logging, QueryPlan[SparkPlan], TreeNode[SparkPlan], Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InsertIntoHiveTable
  2. UnaryExecNode
  3. SparkPlan
  4. Serializable
  5. Serializable
  6. Logging
  7. QueryPlan
  8. TreeNode
  9. Product
  10. Equals
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new InsertIntoHiveTable(table: MetastoreRelation, partition: Map[String, Option[String]], child: SparkPlan, overwrite: Boolean, ifNotExists: Boolean)

    Permalink

    table

    the logical plan representing the table. In the future this should be a org.apache.spark.sql.catalyst.catalog.CatalogTable once we converge Hive tables and data source tables.

    partition

    a map from the partition key to the partition value (optional). If the partition value is optional, dynamic partition insert will be performed. As an example, INSERT INTO tbl PARTITION (a=1, b=2) AS ... would have

    Map('a' -> Some('1'), 'b' -> Some('2'))

    and INSERT INTO tbl PARTITION (a=1, b) AS ... would have

    Map('a' -> Some('1'), 'b' -> None)

    .

    child

    the logical plan representing data to write to.

    overwrite

    overwrite existing table or partitions.

    ifNotExists

    If true, only write if the table or partition does not exist.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. lazy val allAttributes: AttributeSeq

    Permalink
    Definition Classes
    QueryPlan
  5. def apply(number: Int): TreeNode[_]

    Permalink
    Definition Classes
    TreeNode
  6. def argString: String

    Permalink
    Definition Classes
    TreeNode
  7. def asCode: String

    Permalink
    Definition Classes
    TreeNode
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. lazy val canonicalized: SparkPlan

    Permalink
    Attributes
    protected
    Definition Classes
    QueryPlan
  10. val child: SparkPlan

    Permalink

    the logical plan representing data to write to.

    the logical plan representing data to write to.

    Definition Classes
    InsertIntoHiveTable → UnaryExecNode
  11. final def children: Seq[SparkPlan]

    Permalink
    Definition Classes
    UnaryExecNode → TreeNode
  12. lazy val cleanArgs: Seq[Any]

    Permalink
    Attributes
    protected
    Definition Classes
    QueryPlan
  13. def cleanExpression(e: Expression): Expression

    Permalink
    Attributes
    protected
    Definition Classes
    QueryPlan
  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def collect[B](pf: PartialFunction[SparkPlan, B]): Seq[B]

    Permalink
    Definition Classes
    TreeNode
  16. def collectFirst[B](pf: PartialFunction[SparkPlan, B]): Option[B]

    Permalink
    Definition Classes
    TreeNode
  17. def collectLeaves(): Seq[SparkPlan]

    Permalink
    Definition Classes
    TreeNode
  18. lazy val constraints: ExpressionSet

    Permalink
    Definition Classes
    QueryPlan
  19. lazy val containsChild: Set[TreeNode[_]]

    Permalink
    Definition Classes
    TreeNode
  20. var createdTempDir: Option[Path]

    Permalink
  21. def doExecute(): RDD[InternalRow]

    Permalink
    Attributes
    protected
    Definition Classes
    InsertIntoHiveTable → SparkPlan
  22. def doExecuteBroadcast[T](): Broadcast[T]

    Permalink
    Attributes
    protected[org.apache.spark.sql]
    Definition Classes
    SparkPlan
  23. def doPrepare(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  24. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. final def execute(): RDD[InternalRow]

    Permalink
    Definition Classes
    SparkPlan
  26. final def executeBroadcast[T](): Broadcast[T]

    Permalink
    Definition Classes
    SparkPlan
  27. def executeCollect(): Array[InternalRow]

    Permalink
    Definition Classes
    InsertIntoHiveTable → SparkPlan
  28. def executeCollectPublic(): Array[Row]

    Permalink
    Definition Classes
    SparkPlan
  29. final def executeQuery[T](query: ⇒ T): T

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  30. def executeTake(n: Int): Array[InternalRow]

    Permalink
    Definition Classes
    SparkPlan
  31. def executeToIterator(): Iterator[InternalRow]

    Permalink
    Definition Classes
    SparkPlan
  32. final def expressions: Seq[Expression]

    Permalink
    Definition Classes
    QueryPlan
  33. def fastEquals(other: TreeNode[_]): Boolean

    Permalink
    Definition Classes
    TreeNode
  34. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. def find(f: (SparkPlan) ⇒ Boolean): Option[SparkPlan]

    Permalink
    Definition Classes
    TreeNode
  36. def flatMap[A](f: (SparkPlan) ⇒ TraversableOnce[A]): Seq[A]

    Permalink
    Definition Classes
    TreeNode
  37. def foreach(f: (SparkPlan) ⇒ Unit): Unit

    Permalink
    Definition Classes
    TreeNode
  38. def foreachUp(f: (SparkPlan) ⇒ Unit): Unit

    Permalink
    Definition Classes
    TreeNode
  39. def generateTreeString(depth: Int, lastChildren: Seq[Boolean], builder: StringBuilder, verbose: Boolean, prefix: String): StringBuilder

    Permalink
    Definition Classes
    TreeNode
  40. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  41. def getExtTmpPathRelTo(path: Path): Path

    Permalink
  42. def getExternalTmpPath(path: Path): Path

    Permalink
  43. def getRelevantConstraints(constraints: Set[Expression]): Set[Expression]

    Permalink
    Attributes
    protected
    Definition Classes
    QueryPlan
  44. val hadoopConf: Configuration

    Permalink
  45. def hashCode(): Int

    Permalink
    Definition Classes
    TreeNode → AnyRef → Any
  46. val ifNotExists: Boolean

    Permalink

    If true, only write if the table or partition does not exist.

  47. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  48. def innerChildren: Seq[QueryPlan[_]]

    Permalink
    Attributes
    protected
    Definition Classes
    QueryPlan → TreeNode
  49. def inputSet: AttributeSet

    Permalink
    Definition Classes
    QueryPlan
  50. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  51. def isTraceEnabled(): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  52. def jsonFields: List[JField]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  53. def log: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  54. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  55. def logDebug(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  56. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  57. def logError(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  58. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  59. def logInfo(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  60. def logName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  61. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  62. def logTrace(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  63. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  64. def logWarning(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  65. def longMetric(name: String): SQLMetric

    Permalink
    Definition Classes
    SparkPlan
  66. def makeCopy(newArgs: Array[AnyRef]): SparkPlan

    Permalink
    Definition Classes
    SparkPlan → TreeNode
  67. def map[A](f: (SparkPlan) ⇒ A): Seq[A]

    Permalink
    Definition Classes
    TreeNode
  68. def mapChildren(f: (SparkPlan) ⇒ SparkPlan): SparkPlan

    Permalink
    Definition Classes
    TreeNode
  69. def mapExpressions(f: (Expression) ⇒ Expression): InsertIntoHiveTable.this.type

    Permalink
    Definition Classes
    QueryPlan
  70. def mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  71. def metadata: Map[String, String]

    Permalink
    Definition Classes
    SparkPlan
  72. def metrics: Map[String, SQLMetric]

    Permalink
    Definition Classes
    SparkPlan
  73. def missingInput: AttributeSet

    Permalink
    Definition Classes
    QueryPlan
  74. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  75. def newMutableProjection(expressions: Seq[Expression], inputSchema: Seq[Attribute], useSubexprElimination: Boolean): MutableProjection

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  76. def newNaturalAscendingOrdering(dataTypes: Seq[DataType]): Ordering[InternalRow]

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  77. def newOrdering(order: Seq[SortOrder], inputSchema: Seq[Attribute]): Ordering[InternalRow]

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  78. def newPredicate(expression: Expression, inputSchema: Seq[Attribute]): Predicate

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  79. def newVersionExternalTempPath(path: Path): Path

    Permalink
  80. def nodeName: String

    Permalink
    Definition Classes
    TreeNode
  81. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  82. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  83. def numberedTreeString: String

    Permalink
    Definition Classes
    TreeNode
  84. def oldVersionExternalTempPath(path: Path): Path

    Permalink
  85. val origin: Origin

    Permalink
    Definition Classes
    TreeNode
  86. def otherCopyArgs: Seq[AnyRef]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  87. def output: Seq[Attribute]

    Permalink
    Definition Classes
    InsertIntoHiveTable → QueryPlan
  88. def outputOrdering: Seq[SortOrder]

    Permalink
    Definition Classes
    SparkPlan
  89. def outputPartitioning: Partitioning

    Permalink
    Definition Classes
    InsertIntoHiveTable → SparkPlan
  90. def outputSet: AttributeSet

    Permalink
    Definition Classes
    QueryPlan
  91. val overwrite: Boolean

    Permalink

    overwrite existing table or partitions.

  92. def p(number: Int): SparkPlan

    Permalink
    Definition Classes
    TreeNode
  93. val partition: Map[String, Option[String]]

    Permalink

    a map from the partition key to the partition value (optional).

    a map from the partition key to the partition value (optional). If the partition value is optional, dynamic partition insert will be performed. As an example, INSERT INTO tbl PARTITION (a=1, b=2) AS ... would have

    Map('a' -> Some('1'), 'b' -> Some('2'))

    and INSERT INTO tbl PARTITION (a=1, b) AS ... would have

    Map('a' -> Some('1'), 'b' -> None)

    .

  94. final def prepare(): Unit

    Permalink
    Definition Classes
    SparkPlan
  95. def prepareSubqueries(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  96. def prettyJson: String

    Permalink
    Definition Classes
    TreeNode
  97. def printSchema(): Unit

    Permalink
    Definition Classes
    QueryPlan
  98. def producedAttributes: AttributeSet

    Permalink
    Definition Classes
    QueryPlan
  99. def references: AttributeSet

    Permalink
    Definition Classes
    QueryPlan
  100. def requiredChildDistribution: Seq[Distribution]

    Permalink
    Definition Classes
    SparkPlan
  101. def requiredChildOrdering: Seq[Seq[SortOrder]]

    Permalink
    Definition Classes
    SparkPlan
  102. def resetMetrics(): Unit

    Permalink
    Definition Classes
    SparkPlan
  103. def sameResult(plan: SparkPlan): Boolean

    Permalink
    Definition Classes
    QueryPlan
  104. lazy val schema: StructType

    Permalink
    Definition Classes
    QueryPlan
  105. def schemaString: String

    Permalink
    Definition Classes
    QueryPlan
  106. val scratchDir: String

    Permalink
  107. lazy val sideEffectResult: Seq[InternalRow]

    Permalink

    Inserts all the rows in the table into Hive.

    Inserts all the rows in the table into Hive. Row objects are properly serialized with the org.apache.hadoop.hive.serde2.SerDe and the org.apache.hadoop.mapred.OutputFormat provided by the table definition.

    Note: this is run once and then kept to avoid double insertions.

    Attributes
    protected[org.apache.spark.sql]
  108. def simpleString: String

    Permalink
    Definition Classes
    QueryPlan → TreeNode
  109. def sparkContext: SparkContext

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  110. final val sqlContext: SQLContext

    Permalink
    Definition Classes
    SparkPlan
  111. val stagingDir: String

    Permalink
  112. def statePrefix: String

    Permalink
    Attributes
    protected
    Definition Classes
    QueryPlan
  113. def stringArgs: Iterator[Any]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  114. val subexpressionEliminationEnabled: Boolean

    Permalink
    Definition Classes
    SparkPlan
  115. def subqueries: Seq[SparkPlan]

    Permalink
    Definition Classes
    QueryPlan
  116. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  117. val table: MetastoreRelation

    Permalink

    the logical plan representing the table.

    the logical plan representing the table. In the future this should be a org.apache.spark.sql.catalyst.catalog.CatalogTable once we converge Hive tables and data source tables.

  118. def toJSON: String

    Permalink
    Definition Classes
    TreeNode
  119. def toString(): String

    Permalink
    Definition Classes
    TreeNode → AnyRef → Any
  120. def transform(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan

    Permalink
    Definition Classes
    TreeNode
  121. def transformAllExpressions(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type

    Permalink
    Definition Classes
    QueryPlan
  122. def transformDown(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan

    Permalink
    Definition Classes
    TreeNode
  123. def transformExpressions(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type

    Permalink
    Definition Classes
    QueryPlan
  124. def transformExpressionsDown(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type

    Permalink
    Definition Classes
    QueryPlan
  125. def transformExpressionsUp(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type

    Permalink
    Definition Classes
    QueryPlan
  126. def transformUp(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan

    Permalink
    Definition Classes
    TreeNode
  127. def treeString(verbose: Boolean): String

    Permalink
    Definition Classes
    TreeNode
  128. def treeString: String

    Permalink
    Definition Classes
    TreeNode
  129. def validConstraints: Set[Expression]

    Permalink
    Attributes
    protected
    Definition Classes
    QueryPlan
  130. def verboseString: String

    Permalink
    Definition Classes
    QueryPlan → TreeNode
  131. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  132. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  133. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  134. def waitForSubqueries(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  135. def withNewChildren(newChildren: Seq[SparkPlan]): SparkPlan

    Permalink
    Definition Classes
    TreeNode

Inherited from UnaryExecNode

Inherited from SparkPlan

Inherited from Serializable

Inherited from Serializable

Inherited from Logging

Inherited from QueryPlan[SparkPlan]

Inherited from TreeNode[SparkPlan]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped