[
https://issues.apache.org/jira/browse/HIVE-26217?focusedWorklogId=772403&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-772403
]
ASF GitHub Bot logged work on HIVE-26217:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 19/May/22 11:38
Start Date: 19/May/22 11:38
Worklog Time Spent: 10m
Work Description: SourabhBadhya commented on code in PR #3281:
URL: https://github.com/apache/hive/pull/3281#discussion_r876944639
##########
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java:
##########
@@ -7592,6 +7594,22 @@ protected Operator genFileSinkPlan(String dest, QB qb,
Operator input)
destTableIsTransactional = tblProps != null &&
AcidUtils.isTablePropertyTransactional(tblProps);
if (destTableIsTransactional) {
+ isNonNativeTable = AcidUtils.isNonNativeTable(tblProps);
+ boolean isCtas = tblDesc != null && tblDesc.isCTAS();
+ if (AcidUtils.isInsertOnlyTable(tblProps, true)) {
+ isMmTable = isMmCreate = true;
+ }
+ if (!isNonNativeTable && !destTableIsTemporary && isCtas) {
+ destTableIsFullAcid = AcidUtils.isFullAcidTable(tblProps);
+ acidOperation = getAcidType(dest);
+ isDirectInsert = isDirectInsert(destTableIsFullAcid, acidOperation);
+ boolean enableSuffixing =
conf.getBoolVar(ConfVars.HIVE_ACID_CREATE_TABLE_USE_SUFFIX)
+ ||
conf.getBoolVar(ConfVars.HIVE_ACID_LOCKLESS_READS_ENABLED);
+ if (isDirectInsert || isMmTable) {
+ String location = tblDesc.getLocation();
+ destinationPath = location == null ?
getCTASDestinationTableLocation(tblDesc, enableSuffixing) : new Path(location);
Review Comment:
@pvary Thanks for pointing this out. I have updated the patch to handle the
use of MetadataTransformer. Please check and let me know if there are any
issues with it.
Issue Time Tracking
-------------------
Worklog Id: (was: 772403)
Time Spent: 2h 20m (was: 2h 10m)
> Make CTAS use Direct Insert Semantics
> -------------------------------------
>
> Key: HIVE-26217
> URL: https://issues.apache.org/jira/browse/HIVE-26217
> Project: Hive
> Issue Type: Improvement
> Reporter: Sourabh Badhya
> Assignee: Sourabh Badhya
> Priority: Major
> Labels: pull-request-available
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> CTAS on transactional tables currently does a copy from staging location to
> table location. This can be avoided by using Direct Insert semantics. Added
> support for suffixed table locations as well.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)