org.apache.spark.sql.hive.execution

InsertIntoHiveTable

case class InsertIntoHiveTable(table: CatalogTable, partition: Map[String, Option[String]], query: LogicalPlan, overwrite: Boolean, ifPartitionNotExists: Boolean) extends LeafNode with RunnableCommand 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 metadata of the table.

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)

.

query

the logical plan representing data to write to.

overwrite

overwrite existing table or partitions.

ifPartitionNotExists

If true, only write if the partition does not exist. Only valid for static partitions.

Linear Supertypes
Serializable, Serializable, RunnableCommand, Command, LeafNode, LogicalPlan, Logging, QueryPlan[LogicalPlan], TreeNode[LogicalPlan], Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. InsertIntoHiveTable
  2. Serializable
  3. Serializable
  4. RunnableCommand
  5. Command
  6. LeafNode
  7. LogicalPlan
  8. Logging
  9. QueryPlan
  10. TreeNode
  11. Product
  12. Equals
  13. AnyRef
  14. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new InsertIntoHiveTable(table: CatalogTable, partition: Map[String, Option[String]], query: LogicalPlan, overwrite: Boolean, ifPartitionNotExists: Boolean)

    table

    the metadata of the table.

    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)

    .

    query

    the logical plan representing data to write to.

    overwrite

    overwrite existing table or partitions.

    ifPartitionNotExists

    If true, only write if the partition does not exist. Only valid for static partitions.

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. lazy val allAttributes: AttributeSeq

    Definition Classes
    QueryPlan
  7. def analyzed: Boolean

    Definition Classes
    LogicalPlan
  8. def apply(number: Int): TreeNode[_]

    Definition Classes
    TreeNode
  9. def argString: String

    Definition Classes
    TreeNode
  10. def asCode: String

    Definition Classes
    TreeNode
  11. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  12. lazy val canonicalized: LogicalPlan

    Definition Classes
    QueryPlan
  13. final def children: Seq[LogicalPlan]

    Definition Classes
    LeafNode → TreeNode
  14. def childrenResolved: Boolean

    Definition Classes
    LogicalPlan
  15. def clone(): AnyRef

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

    Definition Classes
    TreeNode
  17. def collectFirst[B](pf: PartialFunction[LogicalPlan, B]): Option[B]

    Definition Classes
    TreeNode
  18. def collectLeaves(): Seq[LogicalPlan]

    Definition Classes
    TreeNode
  19. def computeStats(conf: SQLConf): Statistics

    Attributes
    protected
    Definition Classes
    LogicalPlan
  20. lazy val constraints: ExpressionSet

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

    Definition Classes
    TreeNode
  22. var createdTempDir: Option[Path]

  23. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. final def expressions: Seq[Expression]

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

    Definition Classes
    TreeNode
  26. def finalize(): Unit

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

    Definition Classes
    TreeNode
  28. def flatMap[A](f: (LogicalPlan) ⇒ TraversableOnce[A]): Seq[A]

    Definition Classes
    TreeNode
  29. def foreach(f: (LogicalPlan) ⇒ Unit): Unit

    Definition Classes
    TreeNode
  30. def foreachUp(f: (LogicalPlan) ⇒ Unit): Unit

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

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

    Definition Classes
    AnyRef → Any
  33. def getExtTmpPathRelTo(path: Path, hadoopConf: Configuration, stagingDir: String): Path

  34. def getExternalTmpPath(path: Path, hiveVersion: HiveVersion, hadoopConf: Configuration, stagingDir: String, scratchDir: String): Path

  35. def getRelevantConstraints(constraints: Set[Expression]): Set[Expression]

    Attributes
    protected
    Definition Classes
    QueryPlan
  36. def hashCode(): Int

    Definition Classes
    TreeNode → AnyRef → Any
  37. val ifPartitionNotExists: Boolean

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

    If true, only write if the partition does not exist. Only valid for static partitions.

  38. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Attributes
    protected
    Definition Classes
    Logging
  39. def innerChildren: Seq[LogicalPlan]

    Attributes
    protected
    Definition Classes
    InsertIntoHiveTable → QueryPlan → TreeNode
  40. def inputSet: AttributeSet

    Definition Classes
    QueryPlan
  41. final def invalidateStatsCache(): Unit

    Definition Classes
    LogicalPlan
  42. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  43. def isStreaming: Boolean

    Definition Classes
    LogicalPlan
  44. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  45. def jsonFields: List[(String, JValue)]

    Attributes
    protected
    Definition Classes
    TreeNode
  46. def log: Logger

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    Logging
  53. def logName: String

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

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

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

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

    Attributes
    protected
    Definition Classes
    Logging
  58. def makeCopy(newArgs: Array[AnyRef]): LogicalPlan

    Definition Classes
    TreeNode
  59. def map[A](f: (LogicalPlan) ⇒ A): Seq[A]

    Definition Classes
    TreeNode
  60. def mapChildren(f: (LogicalPlan) ⇒ LogicalPlan): LogicalPlan

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

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

    Attributes
    protected
    Definition Classes
    TreeNode
  63. def maxRows: Option[Long]

    Definition Classes
    LogicalPlan
  64. def missingInput: AttributeSet

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

    Definition Classes
    AnyRef
  66. def newVersionExternalTempPath(path: Path, hadoopConf: Configuration, stagingDir: String): Path

  67. def nodeName: String

    Definition Classes
    TreeNode
  68. final def notify(): Unit

    Definition Classes
    AnyRef
  69. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  70. def numberedTreeString: String

    Definition Classes
    TreeNode
  71. def oldVersionExternalTempPath(path: Path, hadoopConf: Configuration, scratchDir: String): Path

  72. val origin: Origin

    Definition Classes
    TreeNode
  73. def otherCopyArgs: Seq[AnyRef]

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

    Definition Classes
    Command → QueryPlan
  75. def outputSet: AttributeSet

    Definition Classes
    QueryPlan
  76. val overwrite: Boolean

    overwrite existing table or partitions.

  77. def p(number: Int): LogicalPlan

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

    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)

    .

  79. def preCanonicalized: LogicalPlan

    Attributes
    protected
    Definition Classes
    QueryPlan
  80. def prettyJson: String

    Definition Classes
    TreeNode
  81. def printSchema(): Unit

    Definition Classes
    QueryPlan
  82. def producedAttributes: AttributeSet

    Definition Classes
    LeafNode → QueryPlan
  83. val query: LogicalPlan

    the logical plan representing data to write to.

  84. def references: AttributeSet

    Definition Classes
    QueryPlan
  85. def refresh(): Unit

    Definition Classes
    LogicalPlan
  86. def resolve(nameParts: Seq[String], input: Seq[Attribute], resolver: (String, String) ⇒ Boolean): Option[NamedExpression]

    Attributes
    protected
    Definition Classes
    LogicalPlan
  87. def resolve(nameParts: Seq[String], resolver: (String, String) ⇒ Boolean): Option[NamedExpression]

    Definition Classes
    LogicalPlan
  88. def resolve(schema: StructType, resolver: (String, String) ⇒ Boolean): Seq[Attribute]

    Definition Classes
    LogicalPlan
  89. def resolveChildren(nameParts: Seq[String], resolver: (String, String) ⇒ Boolean): Option[NamedExpression]

    Definition Classes
    LogicalPlan
  90. def resolveExpressions(r: PartialFunction[Expression, Expression]): LogicalPlan

    Definition Classes
    LogicalPlan
  91. def resolveOperators(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan

    Definition Classes
    LogicalPlan
  92. def resolveQuoted(name: String, resolver: (String, String) ⇒ Boolean): Option[NamedExpression]

    Definition Classes
    LogicalPlan
  93. lazy val resolved: Boolean

    Definition Classes
    LogicalPlan
  94. def run(sparkSession: SparkSession): Seq[Row]

    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.

    Definition Classes
    InsertIntoHiveTable → RunnableCommand
  95. final def sameResult(other: LogicalPlan): Boolean

    Definition Classes
    QueryPlan
  96. lazy val schema: StructType

    Definition Classes
    QueryPlan
  97. def schemaString: String

    Definition Classes
    QueryPlan
  98. final def semanticHash(): Int

    Definition Classes
    QueryPlan
  99. def simpleString: String

    Definition Classes
    QueryPlan → TreeNode
  100. def statePrefix: String

    Attributes
    protected
    Definition Classes
    LogicalPlan → QueryPlan
  101. final def stats(conf: SQLConf): Statistics

    Definition Classes
    LogicalPlan
  102. def stringArgs: Iterator[Any]

    Attributes
    protected
    Definition Classes
    TreeNode
  103. def subqueries: Seq[LogicalPlan]

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

    Definition Classes
    AnyRef
  105. val table: CatalogTable

    the metadata of the table.

  106. def toJSON: String

    Definition Classes
    TreeNode
  107. def toString(): String

    Definition Classes
    TreeNode → AnyRef → Any
  108. def transform(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan

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

    Definition Classes
    QueryPlan
  110. def transformDown(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan

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

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

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

    Definition Classes
    QueryPlan
  114. def transformUp(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan

    Definition Classes
    TreeNode
  115. def treeString(verbose: Boolean, addSuffix: Boolean): String

    Definition Classes
    TreeNode
  116. def treeString: String

    Definition Classes
    TreeNode
  117. def validConstraints: Set[Expression]

    Attributes
    protected
    Definition Classes
    QueryPlan
  118. def verboseString: String

    Definition Classes
    QueryPlan → TreeNode
  119. def verboseStringWithSuffix: String

    Definition Classes
    LogicalPlan → TreeNode
  120. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  123. def withNewChildren(newChildren: Seq[LogicalPlan]): LogicalPlan

    Definition Classes
    TreeNode

Inherited from Serializable

Inherited from Serializable

Inherited from RunnableCommand

Inherited from Command

Inherited from LeafNode

Inherited from LogicalPlan

Inherited from Logging

Inherited from QueryPlan[LogicalPlan]

Inherited from TreeNode[LogicalPlan]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped