Skip to content
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

[#5507] feat(python): Support Azure blob storage for GVFS python client #5538

Merged
merged 23 commits into from
Nov 26, 2024

Conversation

yuqi1129
Copy link
Contributor

@yuqi1129 yuqi1129 commented Nov 12, 2024

What changes were proposed in this pull request?

Support GVFS python client to access ADSL fileset.

Why are the changes needed?

This is a subsequent PR for #5508

Fix: #5507

Does this PR introduce any user-facing change?

N/A

How was this patch tested?

IT locally.

@yuqi1129
Copy link
Contributor Author

This PR is not ready for review until #5508 is merged.

@yuqi1129 yuqi1129 self-assigned this Nov 12, 2024
@yuqi1129 yuqi1129 changed the title [#5507] feat(python): Support Azure block storage for Gravitino server and GVFS Java client [#5507] feat(python): Support Azure blob storage for Gravitino server and GVFS Java client Nov 12, 2024
@yuqi1129 yuqi1129 changed the title [#5507] feat(python): Support Azure blob storage for Gravitino server and GVFS Java client [#5507] feat(python): Support Azure blob storage for GVFS python client Nov 12, 2024
@jerryshao
Copy link
Contributor

@yuqi1129 can you please rebase PR.

@yuqi1129 yuqi1129 requested review from xloya and jerryshao November 20, 2024 13:09
ops = infer_storage_options(storage_location)
if "username" not in ops or "host" not in ops or "path" not in ops:
raise GravitinoRuntimeException(
f"Storage location:{storage_location} doesn't support now. as the username,"
Copy link
Contributor

Choose a reason for hiding this comment

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

"Username, host...are required"

actual_prefix = f"{StorageType.ABS.value}://{ops['username']}@{ops['host']}{ops['path']}"

# For ABS, the actual path should be the same as the virtual path is like
# 'wasbs//[email protected]/test_gvfs_catalog6588/test_gvfs_schema/
Copy link
Contributor

Choose a reason for hiding this comment

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

Why do we specify "wasbs"? Also what's the meaning here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have removed the code here, the logic is specific for paths with wasbs prefixes.

clients/client-python/gravitino/filesystem/gvfs.py Outdated Show resolved Hide resolved
@yuqi1129 yuqi1129 requested a review from jerryshao November 26, 2024 03:06
f"Storage location:{storage_location} doesn't support now, the username,"
f"host and path are required in the storage location."
)
actual_prefix = f"{StorageType.ABS.value}://{ops['username']}@{ops['host']}{ops['path']}"
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we add / before {ops['path']}?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually not, please see L611, other file system like HDFS, file also omit the trialling slash.

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean "before", not "after".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The value of path starts with /.

@jerryshao jerryshao merged commit 0b059b9 into apache:main Nov 26, 2024
21 checks passed
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.

Support Azure blob store for GVFS python client
2 participants