[tdb_mobile_menu menu_id="81451" el_class="plato-left-menu" icon_size="eyJhbGwiOjUwLCJwaG9uZSI6IjMwIn0=" icon_padding="eyJhbGwiOjAuNSwicGhvbmUiOiIxLjUifQ==" tdc_css="eyJhbGwiOnsibWFyZ2luLXRvcCI6IjEwIiwibWFyZ2luLWJvdHRvbSI6IjAiLCJtYXJnaW4tbGVmdCI6IjE1IiwiZGlzcGxheSI6IiJ9LCJwaG9uZSI6eyJtYXJnaW4tdG9wIjoiMCIsIm1hcmdpbi1sZWZ0IjoiMCIsImRpc3BsYXkiOiIifSwicGhvbmVfbWF4X3dpZHRoIjo3Njd9" align_horiz="content-horiz-center" inline="yes" icon_color="#ffffff" icon_color_h="#ffffff"][tdb_header_logo align_vert="content-vert-center" url="https://zephyrnet.com" inline="yes" text="Zephyrnet" image_width="eyJwaG9uZSI6IjM1In0=" img_txt_space="eyJwaG9uZSI6IjEwIn0=" f_text_font_size="eyJwaG9uZSI6IjE4In0=" f_text_font_line_height="eyJwaG9uZSI6IjEuNSJ9" f_text_font_weight="eyJwaG9uZSI6IjcwMCJ9" f_text_font_transform="eyJwaG9uZSI6ImNhcGl0YWxpemUifQ==" f_text_font_family="eyJwaG9uZSI6ImZzXzIifQ==" text_color="#ffffff" text_color_h="var(--accent-color)"]
[tdb_mobile_horiz_menu menu_id="1658" single_line="yes" f_elem_font_family="eyJwaG9uZSI6ImZzXzIifQ==" f_elem_font_weight="eyJwaG9uZSI6IjcwMCJ9" text_color="var(--news-hub-white)" text_color_h="var(--news-hub-accent-hover)" f_elem_font_size="eyJwaG9uZSI6IjE0In0=" f_elem_font_line_height="eyJwaG9uZSI6IjQ4cHgifQ==" elem_padd="eyJwaG9uZSI6IjAgMTVweCJ9" tdc_css="eyJwaG9uZSI6eyJwYWRkaW5nLXJpZ2h0IjoiNSIsInBhZGRpbmctbGVmdCI6IjUiLCJkaXNwbGF5Ijoibm9uZSJ9LCJwaG9uZV9tYXhfd2lkdGgiOjc2N30="]
[tdb_mobile_menu inline="yes" menu_id="81451" el_class="plato-left-menu" icon_size="50" icon_padding="0.5" tdc_css="eyJhbGwiOnsibWFyZ2luLXRvcCI6IjEwIiwibWFyZ2luLWJvdHRvbSI6IjAiLCJtYXJnaW4tbGVmdCI6IjE1IiwiZGlzcGxheSI6IiJ9fQ==" icon_color="#ffffff" icon_color_h="#ffffff" ]
Zephyrnet-logo
[tdb_header_menu main_sub_tdicon="td-icon-down" sub_tdicon="td-icon-right-arrow" mm_align_horiz="content-horiz-center" modules_on_row_regular="20%" modules_on_row_cats="20%" image_size="td_300x0" modules_category= "image" show_excerpt="none" show_com="none" show_date="" show_author="none" mm_sub_align_horiz="content-horiz-right" mm_elem_align_horiz="content-horiz-center" menu_id="81450" show_mega_cats="yes" align_horiz="content-horiz-center" elem_padd="0 30px" main_sub_icon_space="12" mm_width="1192" mm_padd="30px 25px" mm_align_screen="yes" mm_sub_padd="20px 25px 0" mm_sub_border="1px 0 0" mm_elem_space="25" mm_elem_padd="0" mm_elem_border="0" mm_elem_border_a="0" mm_elem_border_rad="0" mc1_title_tag="h2" modules_gap="25" excl_txt="Premium" excl_margin="0 6px 0 0" excl_padd= "2px 5px 2px 4px" excl_bg="var(--news-hub-accent)" f_excl_font_size="12" f_excl_font_weight="700" f_excl_font_transform="uppercase" meta_padding="20px 0 0" art_title="0 0 10px" show_cat ="geen" show_pagination="uitgeschakeld led" text_color="var(--news-hub-white)" tds_menu_active1-line_color="var(--news-hub-accent)" f_elem_font_size="18" f_elem_font_line_height="64px" f_elem_font_weight="400" f_elem_font_transform=" geen" mm_bg="var(-news-hub-donkergrijs)" mm_border_color="var(-news-hub-accent)" mm_subcats_border_color="#444444" mm_elem_color="var(-news-hub-wit )" mm_elem_color_a="var(-news-hub-accent-hover)" f_mm_sub_font_size="14" title_txt="var(-news-hub-wit)" title_txt_hover="var(-news-hub-accent- hover)" date_txt="var(--news-hub-light-grey)" f_title_font_line_height="1.25" f_title_font_weight="700" f_meta_font_line_height="1.3" f_meta_font_family="fs_2" tdc_css="eyJhbGwiOnsiYm9yZGVyLXRvcC13aWR0aCI6IjEiLCJib3JkZXItcmlnaHQtd2lkdGgiOiIxIiwiYm9yZGVyLWJvdHRvbS13aWR0aCI6IjEiLCJib3JkZXItbGVmdC13aWR0aCI6IjEiLCJib3JkZXItY29sb3IiOiJ2YXIoLS1uZXdzLWh1Yi1kYXJrLWdyZXkpIiwiZGlzcGxheSI6IiJ9fQ==" mm_border_size="4px 0 0" f_elem_font_family="fs_2" mm_subcats_bg="var(--nieuws-hub-donkergrijs)" mm_elem_bg="rgba(0,0,0,0) " mm_elem_bg_a="rgba(0,0,0,0)" f_mm_sub_font_family="fs_2" mm_child_cats="10" mm_sub_inline="yes" mm_subcats_posts_limit="5"]
Home AI Gebruik Amazon SageMaker Data Wrangler in Amazon SageMaker Studio met een standaard levenscyclusconfiguratie

Gebruik Amazon SageMaker Data Wrangler in Amazon SageMaker Studio met een standaard levenscyclusconfiguratie

Gebruik Amazon SageMaker Data Wrangler in Amazon SageMaker Studio met een standaard levenscyclusconfiguratie

Als u de standaard levenscyclusconfiguratie voor uw domein of gebruikersprofiel gebruikt in Amazon SageMaker Studio en gebruiken Amazon SageMaker-gegevens Wrangler voor gegevensvoorbereiding, dan is dit bericht iets voor jou. In dit bericht laten we zien hoe u een Data Wrangler-stroom kunt maken en deze kunt gebruiken voor gegevensvoorbereiding in een Studio-omgeving met een standaard levenscyclusconfiguratie.

Data Wrangler is een mogelijkheid van: Amazon Sage Maker dat maakt het voor datawetenschappers en ingenieurs sneller om data voor te bereiden op machine learning (ML)-applicaties via een visuele interface. Gegevensvoorbereiding is een cruciale stap in de ML-levenscyclus en Data Wrangler biedt een end-to-end-oplossing voor het importeren, verkennen, transformeren, voorzien van functies en verwerken van gegevens voor ML in een visuele, low-code-ervaring. Hiermee kunt u eenvoudig en snel verbinding maken met AWS-componenten zoals: Amazon eenvoudige opslagservice (Amazone S3), Amazone Athene, Amazon roodverschuiving en AWS Lake-formatie, en externe bronnen zoals Snowflake en DataBricks DeltaLake. Data Wrangler ondersteunt standaard datatypes zoals CSV, JSON, ORC en Parquet.

Studio-apps zijn interactieve toepassingen die de visuele interface, code-authoring en run-ervaring van Studio mogelijk maken. App-typen kunnen Jupyter Server of Kernel Gateway zijn:

  • Jupyter-server – Geeft toegang tot de visuele interface voor Studio. Elke gebruiker in Studio krijgt zijn eigen Jupyter Server-app.
  • Kernel-gateway – Geeft toegang tot de code-run-omgeving en kernels voor uw Studio-notebooks en terminals. Voor meer informatie, zie Jupyter-kernelgateway.

Levenscyclusconfiguraties (LCC's) zijn shellscripts om aanpassingen voor uw Studio-omgevingen te automatiseren, zoals het installeren van JupyterLab-extensies, het vooraf laden van datasets en het opzetten van broncoderepository's. LCC-scripts worden geactiveerd door gebeurtenissen in de levenscyclus van Studio, zoals het starten van een nieuw Studio-notebook. Als u programmatisch een levenscyclusconfiguratie wilt instellen als standaard voor uw domein of gebruikersprofiel, kunt u een nieuwe bron maken of een bestaande bron bijwerken. Om een ​​levenscyclusconfiguratie als standaard te koppelen, moet u eerst een levenscyclusconfiguratie maken volgens de stappen in Een levenscyclusconfiguratie maken en koppelen

Opmerking: Standaard levenscyclusconfiguraties die op domeinniveau zijn ingesteld, worden overgenomen door alle gebruikers, terwijl configuraties die op gebruikersniveau zijn ingesteld, betrekking hebben op een specifieke gebruiker. Als u tegelijkertijd levenscyclusconfiguraties op domeinniveau en gebruikersprofielniveau toepast, heeft de levenscyclusconfiguratie op gebruikersprofielniveau voorrang en wordt deze toegepast op de toepassing, ongeacht welke levenscyclusconfiguratie op domeinniveau wordt toegepast. Voor meer informatie, zie Standaard levenscyclusconfiguraties instellen.

Data Wrangler accepteert de standaardconfiguratie van de Kernel Gateway-levenscyclus, maar sommige opdrachten die zijn gedefinieerd in de standaardconfiguratie van de Kernel Gateway-levenscyclus zijn niet van toepassing op Data Wrangler, waardoor Data Wrangler niet kan worden gestart. De volgende schermafbeelding toont een voorbeeld van een foutbericht dat u kunt krijgen bij het starten van de Data Wrangler-stroom. Dit kan alleen gebeuren met standaard levenscyclusconfiguraties en niet met levenscyclusconfiguraties.

Overzicht oplossingen

Klanten die de standaard levenscyclusconfiguratie in Studio gebruiken, kunnen dit bericht volgen en het meegeleverde codeblok in het levenscyclusconfiguratiescript gebruiken om een ​​Data Wrangler-app zonder fouten te starten.

De standaard levenscyclusconfiguratie instellen

Om een ​​standaard levenscyclusconfiguratie in te stellen, moet u deze toevoegen aan de DefaultResourceSpec van het juiste app-type. Het gedrag van uw levenscyclusconfiguratie hangt af van of deze is toegevoegd aan de DefaultResourceSpec van een Jupyter Server- of Kernel Gateway-app:

  • Jupyter Server-apps – Wanneer toegevoegd aan de DefaultResourceSpec van een Jupyter Server-app, wordt het standaardconfiguratiescript voor de levenscyclus automatisch uitgevoerd wanneer de gebruiker zich voor de eerste keer aanmeldt bij Studio of Studio opnieuw opstart. U kunt dit gebruiken om eenmalige setup-acties voor de Studio-ontwikkelaarsomgeving te automatiseren, zoals het installeren van notebook-extensies of het instellen van een GitHub-repo. Zie voor een voorbeeld hiervan: Pas Amazon SageMaker Studio aan met behulp van levenscyclusconfiguraties.
  • Kernel Gateway-apps – Wanneer toegevoegd aan de DefaultResourceSpec van een Kernel Gateway-app, selecteert Studio standaard het configuratiescript voor de levenscyclus in het Studio-opstartprogramma. U kunt een notebook of terminal starten met het standaardscript of een andere kiezen uit de lijst met levenscyclusconfiguraties.

Een standaard Kernel Gateway-levenscyclusconfiguratie gespecificeerd in DefaultResourceSpec is van toepassing op alle Kernel Gateway-afbeeldingen in het Studio-domein, tenzij u een ander script kiest uit de lijst in het Studio-opstartprogramma.

Wanneer u met levenscyclusconfiguraties voor Studio werkt, maakt u een levenscyclusconfiguratie en koppelt u deze aan uw Studio-domein of gebruikersprofiel. U kunt dan een Jupyter Server- of Kernel Gateway-toepassing starten om de levenscyclusconfiguratie te gebruiken.

De volgende tabel geeft een overzicht van de fouten die u kunt tegenkomen bij het starten van een Data Wrangler-toepassing met standaard levenscyclusconfiguraties.

Niveau waarop de levenscyclusconfiguratie Is toegepast

Data Wrangler-stroom maken Werkt (of) Fout

Workaround
Domein Fout met onjuist verzoek Pas het script toe (zie hieronder)
Gebruikersprofiel Fout met onjuist verzoek Pas het script toe (zie hieronder)
Aanvraag Werkt—Geen probleem Niet verplicht

Wanneer u de standaard levenscyclusconfiguratie gebruikt die is gekoppeld aan Studio en Data Wrangler (Kernel Gateway-app), kunt u een storing in de Kernel Gateway-app tegenkomen. In dit bericht laten we zien hoe u de standaard levenscyclusconfiguratie correct instelt om actieve opdrachten in een Data Wrangler-toepassing uit te sluiten, zodat u geen storing in de Kernel Gateway-app tegenkomt.

Stel dat u een . wilt installeren git-kloon-repo script als de standaard levenscyclusconfiguratie die automatisch een Git-repository in de thuismap van de gebruiker uitcheckt wanneer de Jupyter-server start. Laten we eens kijken naar elk scenario voor het toepassen van een levenscyclusconfiguratie (Studio-domein, gebruikersprofiel of toepassingsniveau).

Pas levenscyclusconfiguratie toe op Studio-domein- of gebruikersprofielniveau

Voer de stappen in deze sectie uit om de standaardconfiguratie van de Kernel Gateway-levenscyclus toe te passen op Studio-domein- of gebruikersprofielniveau. We beginnen met instructies voor het gebruikersprofielniveau.

In uw levenscyclusconfiguratiescript moet u het volgende codeblok opnemen dat de Data Wrangler Kernel Gateway-app controleert en overslaat:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'
<remainder of LCC here within in else block – this contains some pip install, etc>
fi

Laten we bijvoorbeeld de . gebruiken volgend script als ons origineel (merk op dat de map om de repo te klonen is gewijzigd in /root from /home/sagemaker-user):

# Clones a git repository into the user's home folder
#!/bin/bash

set -eux

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

Het nieuwe aangepaste script ziet er als volgt uit:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

fi

U kunt dit script opslaan als git_command_test.sh.

Nu voert u een reeks opdrachten uit in uw terminal of opdrachtprompt. U moet de configureren AWS-opdrachtregelinterface (AWS CLI) om te communiceren met AWS. Als u de AWS CLI niet hebt ingesteld, raadpleegt u: Configureren van de AWS CLI.

  1. Converteer je git_command_test.sh bestand in Base64-formaat. Deze vereiste voorkomt fouten als gevolg van de codering van spaties en regeleinden.
    LCC_GIT=openssl base64 -A -in /Users/abcde/Downloads/git_command_test.sh

  2. Maak een Studio-levenscyclusconfiguratie. Met de volgende opdracht wordt een levenscyclusconfiguratie gemaakt die wordt uitgevoerd bij het starten van een bijbehorende Kernel Gateway-app:
    aws sagemaker create-studio-lifecycle-config —region us-east-2 —studio-lifecycle-config-name lcc-git —studio-lifecycle-config-content $LCC_GIT —studio-lifecycle-config-app-type KernelGateway

  3. Gebruik de volgende API-aanroep om een ​​nieuw gebruikersprofiel te maken met een bijbehorende levenscyclusconfiguratie:
    aws sagemaker create-user-profile --domain-id d-vqc14vvvvvvv 
    --user-profile-name test 
    --region us-east-2 
    --user-settings '{
    "KernelGatewayAppSettings": {
    "LifecycleConfigArns" : ["arn:aws:sagemaker:us-east-2:000000000000:studio-lifecycle-config/lcc-git"],
    "DefaultResourceSpec": {
    "InstanceType": "ml.m5.xlarge",
    "LifecycleConfigArn": "arn:aws:sagemaker:us-east-2:00000000000:studio-lifecycle-config/lcc-git"
    }
    }
    }'

    Als u een Studio-domein wilt maken om uw levenscyclusconfiguratie op domeinniveau te koppelen, of als u het gebruikersprofiel of domein wilt bijwerken, kunt u ook de stappen volgen in Standaard levenscyclusconfiguraties instellen.

  4. Nu kunt u uw Studio-app starten vanuit het SageMaker-configuratiescherm.controlepaneel
  5. In uw Studio-omgeving, op de Dien in menu, kies New en Data Wrangler-stroom.De nieuwe Data Wrangler-stroom zou zonder problemen moeten openen.
    Nieuwe Data Wrangler-stroom
  6. Om de Git-kloon te valideren, kun je een nieuwe Launcher openen in Studio.
  7. Onder Notebooks en computerbronnen, kies de Python 3-notebook en de data Science SageMaker-afbeelding om uw script te starten als uw standaardconfiguratiescript voor de levenscyclus.
    Notebook en computer

Je kunt de Git zien gekloond naar /root in de volgende schermafbeelding.

Git gekloond naar /root

We hebben met succes de standaardconfiguratie van de kernellevenscyclus toegepast op gebruikersprofielniveau en een Data Wrangler-stroom gemaakt. Om op Studio-domeinniveau te configureren, is de enige wijziging dat u in plaats van een gebruikersprofiel te maken, de ARN van de levenscyclusconfiguratie doorgeeft in een maak-domein noemen.

Pas levenscyclusconfiguratie toe op applicatieniveau

Als u de standaardconfiguratie van de Kernel Gateway-levenscyclus op toepassingsniveau toepast, zult u geen problemen ondervinden omdat Data Wrangler de levenscyclusconfiguratie die op toepassingsniveau wordt toegepast, overslaat.

Conclusie

In dit bericht hebben we laten zien hoe u uw standaard levenscyclusconfiguratie correct kunt configureren voor Studio wanneer u Data Wrangler gebruikt voor gegevensvoorbereiding en visualisatievereisten.

Om samen te vatten, als u de standaard moet gebruiken: levenscyclusconfiguratie voor Studio om aanpassingen voor uw Studio-omgevingen te automatiseren en Data Wrangler te gebruiken voor gegevensvoorbereiding, kunt u de standaard Kernel Gateway-levenscyclusconfiguratie toepassen op gebruikersprofiel- of Studio-domeinniveau met het juiste codeblok in uw levenscyclusconfiguratie, zodat de standaardlevenscyclusconfiguratie dit controleert en slaat de Data Wrangler Kernel Gateway-app over.

Raadpleeg de volgende bronnen voor meer informatie:


Over de auteurs

Rajakumar Sampathkumar is een Principal Technical Account Manager bij AWS en biedt klanten begeleiding bij de afstemming van bedrijfstechnologie en ondersteunt de heruitvinding van hun cloud-operatiemodellen en -processen. Hij is gepassioneerd door cloud en machine learning. Raj is ook een machine learning-specialist en werkt samen met AWS-klanten om hun AWS-workloads en architecturen te ontwerpen, implementeren en beheren.

Vicky Zhang is een Software Development Engineer bij Amazon SageMaker. Ze heeft een passie voor het oplossen van problemen. In haar vrije tijd kijkt ze graag naar detectivefilms en speelt ze badminton.

Rahul Nabera is een Data Analytics Consultant bij AWS Professional Services. Zijn huidige werk is erop gericht klanten in staat te stellen hun data- en machine learning-workloads op AWS te bouwen. In zijn vrije tijd speelt hij graag cricket en volleybal.

Chat met ons

Hallo daar! Hoe kan ik u helpen?