Hive 中的 INSERT OVERWRITE 是否按名称或序号位置插入?
Does INSERT OVERWRITE in Hive insert by name or ordinal position?
我想知道 Hive 中的 INSERT OVERWRITE 在 Apache Spark 中是如何工作的。我们仅覆盖特定分区并使用以下查询:
INSERT OVERWRITE TABLE tableName1 PARTITION (col1=val1) SELECT * FROM tableName2
这将覆盖特定分区并保持其他分区不变。这是按顺序写的还是按名字写的?我似乎找不到任何文档来回答这个具体问题。
如有任何帮助,我们将不胜感激。
在这种情况下,Hive on Spark 的工作方式与 Hive 在 Spark 之外的工作方式相同。
Programming Hive 书中的第 5 章 - HiveQL:数据操作 - 将数据插入表 部分清楚地说明了以下内容:
Hive determines the values of the partition keys... , from the last
<n>
columns in the SELECT clause. ... the relationship between the
source column values and the output partition values is by position
only and not by matching on names.
希望对您有所帮助。
我想知道 Hive 中的 INSERT OVERWRITE 在 Apache Spark 中是如何工作的。我们仅覆盖特定分区并使用以下查询:
INSERT OVERWRITE TABLE tableName1 PARTITION (col1=val1) SELECT * FROM tableName2
这将覆盖特定分区并保持其他分区不变。这是按顺序写的还是按名字写的?我似乎找不到任何文档来回答这个具体问题。
如有任何帮助,我们将不胜感激。
在这种情况下,Hive on Spark 的工作方式与 Hive 在 Spark 之外的工作方式相同。
Programming Hive 书中的第 5 章 - HiveQL:数据操作 - 将数据插入表 部分清楚地说明了以下内容:
Hive determines the values of the partition keys... , from the last
<n>
columns in the SELECT clause. ... the relationship between the source column values and the output partition values is by position only and not by matching on names.
希望对您有所帮助。