Skip to content

feat: add support for avro to arrow data conversion #124

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

wgtmac
Copy link
Member

@wgtmac wgtmac commented Jun 20, 2025

Preliminary avro datum to arrow array data conversion support:

  • Support projecting all primitive types.
  • Support missing fields (reading into null values).
  • Support int->long and float->double promotion.
  • Support struct and list types, map type is not implemented yet.
  • Add basic test cases for primitive types.

@wgtmac wgtmac marked this pull request as ready for review June 20, 2025 08:17
@wgtmac
Copy link
Member Author

wgtmac commented Jun 20, 2025

@lidavidm @zhjwpku Could you please take a look?

return InvalidArgument("Expected Avro string for string field, got: {}",
ToString(avro_node));
}
auto* builder = internal::checked_cast<::arrow::StringBuilder*>(array_builder);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we don't uses large string and string view, aha

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, let's make it simple for now. We can use reader options to indicate whether large variants are needed in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants