-
Notifications
You must be signed in to change notification settings - Fork 1.2k
FeatureGroup().ingest() throws "OSError" - "Function not implemented" inside Lambda Function #2844
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
Comments
I also ran this in a container with Python 3.7 and had the same result. |
Same error. I attempted down-grading to Python 3.6 and still the same [Errno 38] Function not implemented. |
@DFuller134 in case this helps you: I was using this in a Lambda Function as a step in my State Machine. To work around this issue, I used the |
Thanks @makennedy626. I used the same PutRecord approach. I figured the issue was related to Lambda's lack of support for python multiprocessing due to lack of support for shared memory for processes. So I ended up writing my own custom parallel processing feature store ingest function that used pipes instead of queues. Very fast! |
@DFuller134 that's impressive! Do you mind sharing the code with me? If it's too much trouble (too much IP to remove etc.) then no worries. |
Sure! @makennedy626. Here is the link to a gist of my approach: https://gist.github.com/DFuller134/dbf8f17918823e281c03d5b46f61bd4f You can use the lambda_multiprocessing function for any multiprocessing workload in Lambda. The code for the parallelization of multi-threaded calls to the Feature Store PutRecord function serves as an example. If I can find the time, I might attempt a PR that fixes this in the SageMaker SDK. |
This PR has added a workaround to not fork another process if |
This issue with FeatureStore session in nonconcurrency ingestion is resolved in the PR #3617. |
Describe the bug
This error is thrown when running a Docker Lambda Function in the first step of my State Machine. Please see below for additional information.
To reproduce
System Information
.from sagemaker.feature_store.feature_group import FeatureGroup
,FeatureGroup().ingest()
in your function code.Test
tab.Expected behavior
Feature Group should successfully ingest the data.
Screenshots or logs
System information
A description of your system. Please provide:
public.ecr.aws/lambda/python:3.9
Additional context
_multiprocessing.SemLock
in the kedro repository where they were creating Lambda Functions connected via a State Machine, which they were (afaik) unable to resolve or circumvent, so a resolution to this issue might be applicable / helpful for many users of different packages.The text was updated successfully, but these errors were encountered: