-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[native] Table writer 1: Pass LocationHandle to HiveInsertTableHandle #18490
Conversation
6206b40
to
44b44d9
Compare
44b44d9
to
cfc827c
Compare
4267d9a
to
e347690
Compare
e347690
to
51ebd59
Compare
51ebd59
to
5c67424
Compare
case protocol::TableType::TEMPORARY: | ||
return connector::hive::LocationHandle::TableType::kTemporary; | ||
default: | ||
throw std::invalid_argument("Unknown table type"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be better to throw velox exception from here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got feedback on this in #18377, and address all occurrences in this file there.
Corresponding code copy of this PR has already been merged into fbcode repo. This PR is supposed to be just porting to GitHub, so better to keep the code identical of the fbcode copy. It's just Merge was blocked by the protobuf path issue as well as velox_hive_connector OBJECT issue as in facebookincubator/velox#3094.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gggrace14 and everyone.
We do not want to port fbcode changes to GH. We want to avoid any changes in fbcode.
We will get this through, though.
@gggrace14 can you please create and follow up a small issue on changing this exception to Velox exception, please? To be consistent.
return connector::hive::LocationHandle::WriteMode:: | ||
kDirectToTargetExistingDirectory; | ||
default: | ||
throw std::invalid_argument("Unknown write mode"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
@@ -1086,7 +1114,7 @@ core::PlanNodePtr VeloxQueryPlanConverter::toVeloxQueryPlan( | |||
node->source)) { | |||
std::optional<core::JoinType> joinType = std::nullopt; | |||
if (equal(node->predicate, semiJoin->semiJoinOutput)) { | |||
joinType = core::JoinType::kLeftSemi; | |||
joinType = core::JoinType::kLeftSemiFilter; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this change related here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to pick up Masha's change, per ask. It's in a separate commit.
a2d9d92
to
80e4c4f
Compare
@@ -165,6 +165,7 @@ include_directories(.) | |||
include_directories(velox) | |||
include_directories(velox/velox/external/xxhash) | |||
include_directories(${VELOX_ROOT}) | |||
include_directories(${CMAKE_BINARY_DIR}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to fix the proto path issue triggered by this PR, found by @kgpai
'velox/velox/dwio/dwrf/proto/dwrf_proto.pb.h' file not found
@gggrace14 CI join is still failing. Do you know why? |
Checking it |
80e4c4f
to
5509011
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gggrace14 Let's get this in.
5509011
to
af6cac4
Compare
Enable the ser/de of protocol::HiveInsertTableHandle. Extract LocationHandle and HiveColumnHandles from protocol::HiveOutputTableHandle and protocol::HiveInsertTableHandle, and add them to Velox connector::HiveInsertTableHandle. Pass them down to the plan TableWriteNode.
af6cac4
to
1b81afe
Compare
Tracking the troubleshooting process for dependency issues
[Fix] facebookincubator/velox#3094
|
Enable the ser/de of protocol::HiveInsertTableHandle.
Extract LocationHandle and HiveColumnHandles from
protocol::HiveOutputTableHandle and protocol::HiveInsertTableHandle,
and add them to Velox connector::HiveInsertTableHandle.
Pass them down to the plan TableWriteNode.