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. def doExecute(): RDD[InternalRow]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  40. def getExtTmpPathRelTo(path: Path, hadoopConf: Configuration): Path

    Permalink
  41. def getExternalTmpPath(path: Path, hadoopConf: Configuration): Path

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

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

    Permalink
  44. def hashCode(): Int

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

    Permalink

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

  46. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    SparkPlan
  71. def missingInput: AttributeSet

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

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

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

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  77. def nodeName: String

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

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

    Permalink
    Definition Classes
    AnyRef
  80. def numberedTreeString: String

    Permalink
    Definition Classes
    TreeNode
  81. val origin: Origin

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

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

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

    Permalink
    Definition Classes
    SparkPlan
  85. def outputPartitioning: Partitioning

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

    Permalink
    Definition Classes
    QueryPlan
  87. val overwrite: Boolean

    Permalink

    overwrite existing table or partitions.

  88. def p(number: Int): SparkPlan

    Permalink
    Definition Classes
    TreeNode
  89. 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)

    .

  90. final def prepare(): Unit

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

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

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

    Permalink
    Definition Classes
    QueryPlan
  94. def producedAttributes: AttributeSet

    Permalink
    Definition Classes
    QueryPlan
  95. def references: AttributeSet

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

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

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

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

    Permalink
    Definition Classes
    QueryPlan
  100. lazy val schema: StructType

    Permalink
    Definition Classes
    QueryPlan
  101. def schemaString: String

    Permalink
    Definition Classes
    QueryPlan
  102. 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]
  103. def simpleString: String

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

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

    Permalink
    Definition Classes
    SparkPlan
  106. val stagingDir: String

    Permalink
  107. def statePrefix: String

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  112. 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.

  113. def toJSON: String

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

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

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

    Permalink
    Definition Classes
    QueryPlan
  117. def transformChildren(rule: PartialFunction[SparkPlan, SparkPlan], nextOperation: (SparkPlan, PartialFunction[SparkPlan, SparkPlan]) ⇒ SparkPlan): SparkPlan

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  118. def transformDown(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan

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

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

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

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

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

    Permalink
    Definition Classes
    TreeNode
  124. def treeString: String

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

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

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

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

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    SparkPlan
  131. 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