Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
left <- Table$create( one = c("a", "b"), two = 1:2 ) right <- Table$create( three = TRUE, dos = 2L ) left %>% rename(dos = two) # InMemoryDataset (query) # one: string # dos: int32 # See $.data for the source Arrow object left %>% rename(dos = two) %>% left_join(right) # InMemoryDataset (query) # one: string # dos: int32 # three: bool # See $.data for the source Arrow object left %>% rename(dos = two) %>% left_join(right) %>% collect() # Error: Invalid: No match or multiple matches for key field reference FieldRef.Name(dos) on left side of the join # ../src/arrow/compute/exec/hash_join_node.cc:95 ValidateSchemas(join_type, left_schema, left_keys, left_output, right_schema, right_keys, right_output, left_field_name_prefix, right_field_name_prefix) # ../src/arrow/compute/exec/hash_join_node.cc:311 schema_mgr->Init( join_options.join_type, *(inputs[0]->output_schema()), join_options.left_keys, join_options.left_output, *(inputs[1]->output_schema()), join_options.right_keys, join_options.right_output, join_options.output_prefix_for_left, join_options.output_prefix_for_right)
Attachments
Issue Links
- is duplicated by
-
ARROW-14184 [C++] allow joins where the keys include new columns on the left
- Closed
- links to