case class InsertIntoHiveTable(table: CatalogTable, partition: Map[String, Option[String]], query: LogicalPlan, overwrite: Boolean, ifPartitionNotExists: Boolean, outputColumnNames: Seq[String]) extends LogicalPlan with SaveAsHiveFile 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 haveMap('a' -> Some('1'), 'b' -> Some('2'))
and
INSERT INTO tbl PARTITION (a=1, b) AS ...
would haveMap('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.
- Alphabetic
- By Inheritance
- InsertIntoHiveTable
- Serializable
- Serializable
- SaveAsHiveFile
- DataWritingCommand
- Command
- LogicalPlan
- Logging
- QueryPlanConstraints
- ConstraintHelper
- LogicalPlanStats
- AnalysisHelper
- QueryPlan
- TreeNode
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
InsertIntoHiveTable(table: CatalogTable, partition: Map[String, Option[String]], query: LogicalPlan, overwrite: Boolean, ifPartitionNotExists: Boolean, outputColumnNames: Seq[String])
- 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 haveMap('a' -> Some('1'), 'b' -> Some('2'))
and
INSERT INTO tbl PARTITION (a=1, b) AS ...
would haveMap('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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
lazy val
allAttributes: AttributeSeq
- Definition Classes
- QueryPlan
-
def
analyzed: Boolean
- Definition Classes
- AnalysisHelper
-
def
apply(number: Int): TreeNode[_]
- Definition Classes
- TreeNode
-
def
argString: String
- Definition Classes
- TreeNode
-
def
asCode: String
- Definition Classes
- TreeNode
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
assertNotAnalysisRule(): Unit
- Attributes
- protected
- Definition Classes
- AnalysisHelper
-
def
basicWriteJobStatsTracker(hadoopConf: Configuration): BasicWriteJobStatsTracker
- Definition Classes
- DataWritingCommand
-
final
lazy val
canonicalized: LogicalPlan
- Definition Classes
- QueryPlan
- Annotations
- @transient()
-
final
def
children: Seq[LogicalPlan]
- Definition Classes
- DataWritingCommand → Command → TreeNode
-
def
childrenResolved: Boolean
- Definition Classes
- LogicalPlan
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
collect[B](pf: PartialFunction[LogicalPlan, B]): Seq[B]
- Definition Classes
- TreeNode
-
def
collectFirst[B](pf: PartialFunction[LogicalPlan, B]): Option[B]
- Definition Classes
- TreeNode
-
def
collectLeaves(): Seq[LogicalPlan]
- Definition Classes
- TreeNode
-
def
conf: SQLConf
- Definition Classes
- QueryPlan
-
lazy val
constraints: ExpressionSet
- Definition Classes
- QueryPlanConstraints
-
def
constructIsNotNullConstraints(constraints: Set[Expression], output: Seq[Attribute]): Set[Expression]
- Definition Classes
- ConstraintHelper
-
lazy val
containsChild: Set[TreeNode[_]]
- Definition Classes
- TreeNode
-
val
createdTempDir: Option[Path]
- Definition Classes
- SaveAsHiveFile
-
def
deleteExternalTmpPath(hadoopConf: Configuration): Unit
- Attributes
- protected
- Definition Classes
- SaveAsHiveFile
-
def
doCanonicalize(): LogicalPlan
- Attributes
- protected
- Definition Classes
- QueryPlan
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
expressions: Seq[Expression]
- Definition Classes
- QueryPlan
-
def
fastEquals(other: TreeNode[_]): Boolean
- Definition Classes
- TreeNode
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
find(f: (LogicalPlan) ⇒ Boolean): Option[LogicalPlan]
- Definition Classes
- TreeNode
-
def
flatMap[A](f: (LogicalPlan) ⇒ TraversableOnce[A]): Seq[A]
- Definition Classes
- TreeNode
-
def
foreach(f: (LogicalPlan) ⇒ Unit): Unit
- Definition Classes
- TreeNode
-
def
foreachUp(f: (LogicalPlan) ⇒ Unit): Unit
- Definition Classes
- TreeNode
-
def
generateTreeString(depth: Int, lastChildren: Seq[Boolean], writer: Writer, verbose: Boolean, prefix: String, addSuffix: Boolean): Unit
- Definition Classes
- TreeNode
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getExternalTmpPath(sparkSession: SparkSession, hadoopConf: Configuration, path: Path): Path
- Attributes
- protected
- Definition Classes
- SaveAsHiveFile
-
def
hashCode(): Int
- Definition Classes
- TreeNode → AnyRef → Any
- val ifPartitionNotExists: Boolean
-
def
inferAdditionalConstraints(constraints: Set[Expression]): Set[Expression]
- Definition Classes
- ConstraintHelper
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean = false): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
innerChildren: Seq[QueryPlan[_]]
- Attributes
- protected
- Definition Classes
- QueryPlan → TreeNode
-
def
inputSet: AttributeSet
- Definition Classes
- QueryPlan
-
final
def
invalidateStatsCache(): Unit
- Definition Classes
- LogicalPlanStats
-
def
isCanonicalizedPlan: Boolean
- Attributes
- protected
- Definition Classes
- QueryPlan
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isStreaming: Boolean
- Definition Classes
- LogicalPlan
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
jsonFields: List[JField]
- Attributes
- protected
- Definition Classes
- TreeNode
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
makeCopy(newArgs: Array[AnyRef]): LogicalPlan
- Definition Classes
- TreeNode
-
def
map[A](f: (LogicalPlan) ⇒ A): Seq[A]
- Definition Classes
- TreeNode
-
def
mapChildren(f: (LogicalPlan) ⇒ LogicalPlan): LogicalPlan
- Definition Classes
- TreeNode
-
def
mapExpressions(f: (Expression) ⇒ Expression): InsertIntoHiveTable.this.type
- Definition Classes
- QueryPlan
-
def
mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]
- Attributes
- protected
- Definition Classes
- TreeNode
-
def
maxRows: Option[Long]
- Definition Classes
- LogicalPlan
-
def
maxRowsPerPartition: Option[Long]
- Definition Classes
- LogicalPlan
-
lazy val
metrics: Map[String, SQLMetric]
- Definition Classes
- DataWritingCommand
-
def
missingInput: AttributeSet
- Definition Classes
- QueryPlan
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
nodeName: String
- Definition Classes
- TreeNode
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
numberedTreeString: String
- Definition Classes
- TreeNode
-
val
origin: Origin
- Definition Classes
- TreeNode
-
def
otherCopyArgs: Seq[AnyRef]
- Attributes
- protected
- Definition Classes
- TreeNode
-
def
output: Seq[Attribute]
- Definition Classes
- Command → QueryPlan
-
val
outputColumnNames: Seq[String]
- Definition Classes
- InsertIntoHiveTable → DataWritingCommand
-
def
outputColumns: Seq[Attribute]
- Definition Classes
- DataWritingCommand
-
def
outputOrdering: Seq[SortOrder]
- Definition Classes
- LogicalPlan
-
def
outputSet: AttributeSet
- Definition Classes
- QueryPlan
- val overwrite: Boolean
-
def
p(number: Int): LogicalPlan
- Definition Classes
- TreeNode
- val partition: Map[String, Option[String]]
-
def
prettyJson: String
- Definition Classes
- TreeNode
-
def
printSchema(): Unit
- Definition Classes
- QueryPlan
-
def
producedAttributes: AttributeSet
- Definition Classes
- QueryPlan
-
val
query: LogicalPlan
- Definition Classes
- InsertIntoHiveTable → DataWritingCommand
-
def
references: AttributeSet
- Definition Classes
- QueryPlan
-
def
refresh(): Unit
- Definition Classes
- LogicalPlan
-
def
resolve(nameParts: Seq[String], resolver: Resolver): Option[NamedExpression]
- Definition Classes
- LogicalPlan
-
def
resolve(schema: StructType, resolver: Resolver): Seq[Attribute]
- Definition Classes
- LogicalPlan
-
def
resolveChildren(nameParts: Seq[String], resolver: Resolver): Option[NamedExpression]
- Definition Classes
- LogicalPlan
-
def
resolveExpressions(r: PartialFunction[Expression, Expression]): LogicalPlan
- Definition Classes
- AnalysisHelper
-
def
resolveOperators(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
- Definition Classes
- AnalysisHelper
-
def
resolveOperatorsDown(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
- Definition Classes
- AnalysisHelper
-
def
resolveOperatorsUp(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
- Definition Classes
- AnalysisHelper
-
def
resolveQuoted(name: String, resolver: Resolver): Option[NamedExpression]
- Definition Classes
- LogicalPlan
-
lazy val
resolved: Boolean
- Definition Classes
- LogicalPlan
-
def
run(sparkSession: SparkSession, child: SparkPlan): 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 theorg.apache.hadoop.mapred.OutputFormat
provided by the table definition.- Definition Classes
- InsertIntoHiveTable → DataWritingCommand
-
def
sameOutput(other: LogicalPlan): Boolean
- Definition Classes
- LogicalPlan
-
final
def
sameResult(other: LogicalPlan): Boolean
- Definition Classes
- QueryPlan
-
def
saveAsHiveFile(sparkSession: SparkSession, plan: SparkPlan, hadoopConf: Configuration, fileSinkConf: ShimFileSinkDesc, outputLocation: String, customPartitionLocations: Map[TablePartitionSpec, String] = Map.empty, partitionAttributes: Seq[Attribute] = Nil): Set[String]
- Attributes
- protected
- Definition Classes
- SaveAsHiveFile
-
lazy val
schema: StructType
- Definition Classes
- QueryPlan
-
def
schemaString: String
- Definition Classes
- QueryPlan
-
final
def
semanticHash(): Int
- Definition Classes
- QueryPlan
-
def
simpleString: String
- Definition Classes
- QueryPlan → TreeNode
-
def
statePrefix: String
- Attributes
- protected
- Definition Classes
- LogicalPlan → QueryPlan
-
def
stats: Statistics
- Definition Classes
- LogicalPlanStats
-
val
statsCache: Option[Statistics]
- Attributes
- protected
- Definition Classes
- LogicalPlanStats
-
def
stringArgs: Iterator[Any]
- Attributes
- protected
- Definition Classes
- TreeNode
-
def
subqueries: Seq[LogicalPlan]
- Definition Classes
- QueryPlan
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val table: CatalogTable
-
def
toJSON: String
- Definition Classes
- TreeNode
-
def
toString(): String
- Definition Classes
- TreeNode → AnyRef → Any
-
def
transform(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
- Definition Classes
- TreeNode
-
def
transformAllExpressions(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type
- Definition Classes
- AnalysisHelper → QueryPlan
-
def
transformDown(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
- Definition Classes
- AnalysisHelper → TreeNode
-
def
transformExpressions(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type
- Definition Classes
- QueryPlan
-
def
transformExpressionsDown(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type
- Definition Classes
- QueryPlan
-
def
transformExpressionsUp(rule: PartialFunction[Expression, Expression]): InsertIntoHiveTable.this.type
- Definition Classes
- QueryPlan
-
def
transformUp(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
- Definition Classes
- AnalysisHelper → TreeNode
-
def
treeString(writer: Writer, verbose: Boolean, addSuffix: Boolean): Unit
- Definition Classes
- TreeNode
-
def
treeString(verbose: Boolean, addSuffix: Boolean): String
- Definition Classes
- TreeNode
-
def
treeString: String
- Definition Classes
- TreeNode
-
def
validConstraints: Set[Expression]
- Attributes
- protected
- Definition Classes
- QueryPlanConstraints
-
def
verboseString: String
- Definition Classes
- QueryPlan → TreeNode
-
def
verboseStringWithSuffix: String
- Definition Classes
- LogicalPlan → TreeNode
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
withNewChildren(newChildren: Seq[LogicalPlan]): LogicalPlan
- Definition Classes
- TreeNode