I dati stanno trasformando ogni campo e ogni azienda. Tuttavia, con i dati che crescono più velocemente di quanto la maggior parte delle aziende possa tenere traccia, raccogliere dati e ottenere valore da tali dati è una cosa impegnativa da fare. UN moderna strategia dei dati può aiutarti a creare migliori risultati di business con i dati. AWS fornisce il set di servizi più completo per il viaggio dati end-to-end per aiutarvi a sblocca valore dai tuoi dati e trasformarlo in intuizione.
I data scientist possono dedicare fino all'80% del loro tempo alla preparazione dei dati per i progetti di machine learning (ML). Questo processo di preparazione è un lavoro in gran parte indifferenziato e noioso e può coinvolgere più API di programmazione e librerie personalizzate. Gestore di dati di Amazon SageMaker aiuta i data scientist e i data engineer a semplificare e accelerare la preparazione dei dati tabulari e delle serie temporali e l'ingegnerizzazione delle funzionalità attraverso un'interfaccia visiva. È possibile importare dati da più origini dati, ad esempio Servizio di archiviazione semplice Amazon (Amazon S3), Amazzone Atena, Amazon RedShift, o anche soluzioni di terze parti come Fiocco di neve or DataBricked elabora i tuoi dati con oltre 300 trasformazioni di dati integrate e una libreria di frammenti di codice, così puoi normalizzare, trasformare e combinare rapidamente le funzionalità senza scrivere alcun codice. Puoi anche portare le tue trasformazioni personalizzate in PySpark, SQL o Pandas.
Questo post mostra come pianificare l'esecuzione automatica dei processi di preparazione dei dati. Esploriamo anche la nuova funzionalità Data Wrangler di set di dati parametrizzati, che consente di specificare i file da includere in un flusso di dati mediante URI parametrizzati.
Panoramica della soluzione
Data Wrangler ora supporta l'importazione di dati utilizzando un URI parametrizzato. Ciò consente un'ulteriore flessibilità perché ora puoi importare tutti i set di dati corrispondenti ai parametri specificati, che possono essere di tipo String, Number, Datetime e Pattern, nell'URI. Inoltre, ora puoi attivare i processi di trasformazione di Data Wrangler in base a una pianificazione.
In questo post, creiamo un flusso di esempio con il set di dati Titanic per mostrare come puoi iniziare a sperimentare queste due nuove funzionalità di Data Wrangler. Per scaricare il set di dati, fare riferimento a Titanic – Apprendimento automatico dal disastro.
Prerequisiti
Per ottenere tutte le funzionalità descritte in questo post, è necessario eseguire l'ultima versione del kernel di Data Wrangler. Per ulteriori informazioni, fare riferimento a Aggiorna Data Wrangler. Inoltre, devi essere in esecuzione Amazon Sage Maker Studio JupyterLab 3. Per visualizzare la versione corrente e aggiornarla, fare riferimento a Versione JupyterLab.
Struttura del file
Per questa dimostrazione, seguiamo una semplice struttura di file che è necessario replicare per riprodurre i passaggi descritti in questo post.
- Nello Studio, creare un nuovo taccuino.
- Esegui il seguente frammento di codice per creare la struttura di cartelle che utilizziamo (assicurati di essere nella cartella desiderata nell'albero dei file):
- copiare il
train.csv
edtest.csv
file dal dataset originale del Titanic alle cartelletitanic_dataset/train
edtitanic_dataset/test
, Rispettivamente. - Eseguire il seguente frammento di codice per popolare le cartelle con i file necessari:
Abbiamo diviso il train.csv
file del set di dati del Titanic in nove file diversi, denominati part_x
, dove x è il numero della parte. La parte 0 contiene i primi 100 record, la parte 1 i successivi 100 e così via fino alla parte 8. Ogni cartella del nodo dell'albero dei file contiene una copia delle nove parti dei dati di addestramento ad eccezione del train
ed test
cartelle, che contengono train.csv
ed test.csv
.
Set di dati parametrizzati
Gli utenti di Data Wrangler possono ora specificare i parametri per i set di dati importati da Amazon S3. I parametri del set di dati sono specificati nell'URI delle risorse e il suo valore può essere modificato dinamicamente, consentendo una maggiore flessibilità nella selezione dei file che vogliamo importare. I parametri possono essere di quattro tipi di dati:
- Numero – Può assumere il valore di qualsiasi numero intero
- Corda – Può assumere il valore di qualsiasi stringa di testo
- Cartamodello – Può assumere il valore di qualsiasi espressione regolare
- Appuntamento – Può assumere il valore di uno qualsiasi dei formati di data/ora supportati
In questa sezione viene fornita una panoramica di questa nuova funzionalità. Questo è disponibile solo dopo aver importato il set di dati nel flusso corrente e solo per i set di dati importati da Amazon S3.
- Dal flusso di dati, scegli il segno più (+) accanto al passaggio di importazione e scegli Modifica set di dati.
- Il metodo preferito (e più semplice) per creare nuovi parametri è evidenziare una sezione del tuo URI e scegliere Crea parametro personalizzato nel menu a tendina. Devi specificare quattro cose per ogni parametro che vuoi creare:
- Nome
- Tipologia
- Valore di default
- Descrizione
Qui abbiamo creato un parametro di tipo String chiamatofilename_param
con un valore predefinito ditrain.csv
. Ora puoi vedere il nome del parametro racchiuso tra doppie parentesi, sostituendo la porzione di URI che abbiamo evidenziato in precedenza. Perché il valore definito per questo parametro eratrain.csv
, ora vediamo il filetrain.csv
elencati nella tabella di importazione. - Quando proviamo a creare un lavoro di trasformazione, sul Configura lavoro passo, ora vediamo a parametri sezione, dove possiamo vedere un elenco di tutti i nostri parametri definiti.
- La scelta del parametro ci dà la possibilità di modificare il valore del parametro, in questo caso cambiando il dataset di input da trasformare in base al flusso definito.
Supponendo di cambiare il valore difilename_param
datrain.csv
apart_0.csv
, il lavoro di trasformazione ora richiedepart_0.csv
(a condizione che un file con il nomepart_0.csv
esiste nella stessa cartella) dei suoi nuovi dati di input. - Inoltre, se tenti di esportare il tuo flusso verso una destinazione Amazon S3 (tramite un notebook Jupyter), ora vedrai una nuova cella contenente i parametri che hai definito.
Si noti che il parametro assume il valore predefinito, ma è possibile modificarlo sostituendo il suo valore nel fileparameter_overrides
dizionario (lasciando invariate le chiavi del dizionario).
Inoltre, puoi creare nuovi parametri dal file parametri UI. - Aprilo scegliendo l'icona dei parametri ({{}}) situato accanto a Go opzione; entrambi si trovano accanto al valore del percorso URI.
Si apre una tabella con tutti i parametri attualmente esistenti nel file di flusso (filename_param
a questo punto). - Puoi creare nuovi parametri per il tuo flusso scegliendo Crea parametro.
Si apre una finestra popup che consente di creare un nuovo parametro personalizzato. - Qui, abbiamo creato un nuovo
example_parameter
as Tipo di numero con un valore predefinito pari a 0. Questo parametro appena creato è ora elencato nel file parametri tavolo. Passando il mouse sopra il parametro vengono visualizzate le opzioni Modifica, Eliminae inserire. - Dall'interno del parametri UI, puoi inserire uno dei tuoi parametri nell'URI selezionando il parametro desiderato e scegliendo inserire.
Questo aggiunge il parametro alla fine del tuo URI. Devi spostarlo nella sezione desiderata all'interno del tuo URI. - Cambia il valore predefinito del parametro, applica la modifica (dal modale), scegli Goe scegliere l'icona di aggiornamento per aggiornare l'elenco di anteprima utilizzando il set di dati selezionato in base al valore del parametro appena definito.Esaminiamo ora altri tipi di parametri. Supponiamo ora di avere un set di dati suddiviso in più parti, in cui ogni file ha un numero di parte.
- Se vogliamo modificare dinamicamente il numero del file, possiamo definire un parametro Number come mostrato nello screenshot seguente.Si noti che il file selezionato è quello che corrisponde al numero specificato nel parametro.
Dimostriamo ora come utilizzare un parametro Pattern. Supponiamo di voler importare tutti i filepart_1.csv
file in tutte le cartelle sotto il filetitanic-dataset/
cartella. I parametri del modello possono accettare qualsiasi espressione regolare valida; ci sono alcuni pattern regex mostrati come esempi. - Crea un parametro Pattern chiamato
any_pattern
per abbinare qualsiasi cartella o file sotto il filetitanic-dataset/
cartella con valore predefinito.*
.Notare che il carattere jolly non è un singolo * (asterisco) ma ha anche un punto. - Evidenzia il
titanic-dataset/
parte del percorso e creare un parametro personalizzato. Questa volta scegliamo il Cartamodello tipo.Questo modello seleziona tutti i file chiamatipart-1.csv
da una qualsiasi delle cartelle sottotitanic-dataset/
.
Un parametro può essere utilizzato più di una volta in un percorso. Nell'esempio seguente, utilizziamo il nostro parametro appena creatoany_pattern
due volte nel nostro URI in modo che corrisponda a uno qualsiasi dei file di parte in una qualsiasi delle cartelle sottostantititanic-dataset/
.
Infine, creiamo un parametro Datetime. I parametri datetime sono utili quando abbiamo a che fare con percorsi partizionati per data e ora, come quelli generati da Firehose dati Amazon Kinesis (Vedi Partizionamento dinamico in Kinesis Data Firehose). Per questa dimostrazione, utilizziamo i dati nella cartella datetime-data. - Seleziona la parte del tuo percorso che è una data/ora e crea un parametro personalizzato. Scegli il Appuntamento tipo di parametro.
Quando si sceglie il tipo di dati Datetime, è necessario inserire ulteriori dettagli. - Prima di tutto, devi fornire un formato della data. È possibile scegliere uno qualsiasi dei formati di data/ora predefiniti o crearne uno personalizzato.
Per i formati data/ora predefiniti, la legenda fornisce un esempio di data corrispondente al formato selezionato. Per questa dimostrazione, scegliamo il formato aaaa/MM/gg. - Successivamente, specificare un fuso orario per i valori di data/ora.
Ad esempio, la data corrente potrebbe essere il 1 gennaio 2022 in un fuso orario, ma potrebbe essere il 2 gennaio 2022 in un altro fuso orario. - Infine, puoi selezionare l'intervallo di tempo, che ti consente di selezionare l'intervallo di file che desideri includere nel flusso di dati.
È possibile specificare l'intervallo di tempo in ore, giorni, settimane, mesi o anni. Per questo esempio, vogliamo ottenere tutti i file dell'ultimo anno. - Fornire una descrizione del parametro e scegliere Creare.
Se utilizzi più set di dati con fusi orari diversi, l'ora non viene convertita automaticamente; è necessario preelaborare ogni file o sorgente per convertirlo in un fuso orario.I file selezionati sono tutti i file nelle cartelle corrispondenti ai dati dell'anno precedente. - Ora, se creiamo un lavoro di trasformazione dei dati, possiamo vedere un elenco di tutti i nostri parametri definiti e possiamo sovrascrivere i loro valori predefiniti in modo che i nostri lavori di trasformazione raccolgano i file specificati.
Pianificare i processi di elaborazione
Ora puoi pianificare i processi di elaborazione per automatizzare l'esecuzione dei processi di trasformazione dei dati e l'esportazione dei dati trasformati in Amazon S3 o Negozio di funzionalità Amazon SageMaker. Puoi programmare i lavori con l'orario e la periodicità che si adatta alle tue esigenze.
Uso dei processi di elaborazione pianificati Amazon EventBridge norme per pianificare l'esecuzione del lavoro. Pertanto, come prerequisito, devi assicurarti che il file Gestione dell'identità e dell'accesso di AWS (IAM) utilizzato da Data Wrangler, vale a dire il Amazon Sage Maker ruolo di esecuzione dell'istanza di Studio, dispone delle autorizzazioni per creare regole EventBridge.
Configura IAM
Procedi con i seguenti aggiornamenti sul ruolo di esecuzione IAM SageMaker corrispondente all'istanza Studio in cui è in esecuzione il flusso Data Wrangler:
- Allegare il AmazonEventBridgeAccesso completo politica gestita.
- Allega una policy per concedere l'autorizzazione a creare un processo di elaborazione:
- Concedi a EventBridge l'autorizzazione ad assumere il ruolo aggiungendo la seguente policy di attendibilità:
In alternativa, se utilizzi un ruolo diverso per eseguire il processo di elaborazione, applica a tale ruolo i criteri descritti nei passaggi 2 e 3. Per i dettagli sulla configurazione IAM, fare riferimento a Crea una pianificazione per elaborare automaticamente i nuovi dati.
Crea un programma
Per creare una pianificazione, apri il flusso nell'editor di flusso di Data Wrangler.
- Sulla Flusso di dati scheda, scegliere Crea lavoro.
- Configura i campi obbligatori e scegli Successivamente, 2. Configura lavoro.
- Espandere Associa orari.
- Scegli Crea nuovo programma.
I Crea nuovo programma si apre la finestra di dialogo, in cui si definiscono i dettagli della pianificazione del processo di elaborazione.
La finestra di dialogo offre una grande flessibilità per aiutarti a definire la pianificazione. È possibile, ad esempio, eseguire il processo di elaborazione a un'ora specifica o ogni X ore, in giorni specifici della settimana.
La periodicità può essere granulare a livello di minuti. - Definire il nome del programma e la periodicità, quindi scegliere Creare per salvare la pianificazione.
- Hai la possibilità di avviare subito il processo di elaborazione insieme alla pianificazione, che si occupa delle esecuzioni future, o lasciare che il processo venga eseguito solo in base alla pianificazione.
- È inoltre possibile definire una pianificazione aggiuntiva per lo stesso processo di elaborazione.
- Per terminare la pianificazione del processo di elaborazione, scegliere Creare.
Viene visualizzato un messaggio "Lavoro pianificato correttamente". Inoltre, se hai scelto di lasciare che il processo venga eseguito solo in base alla pianificazione, vedrai un collegamento alla regola EventBridge che hai appena creato.
Se scegli il collegamento alla pianificazione, si apre una nuova scheda nel browser che mostra la regola EventBridge. In questa pagina è possibile apportare ulteriori modifiche alla regola e tenere traccia della cronologia delle chiamate. Per interrompere l'esecuzione del processo di elaborazione pianificato, eliminare la regola evento che contiene il nome della pianificazione.
La regola EventBridge mostra una pipeline SageMaker come destinazione, che viene attivata in base alla pianificazione definita e il processo di elaborazione richiamato come parte della pipeline.
Per tenere traccia delle esecuzioni della pipeline SageMaker, puoi tornare a Studio, scegliere il file Risorse di SageMaker icona, scegli Condottee scegli il nome della pipeline che desideri monitorare. Ora puoi visualizzare una tabella con tutte le esecuzioni correnti e passate e lo stato di tale pipeline.
Puoi vedere maggiori dettagli facendo doppio clic su una voce specifica.
ripulire
Quando non si utilizza Data Wrangler, si consiglia di arrestare l'istanza su cui viene eseguito per evitare di incorrere in costi aggiuntivi.
Per evitare di perdere il lavoro, salva il flusso di dati prima di spegnere Data Wrangler.
- Per salvare il flusso di dati in Studio, scegli Compila il , Quindi scegliere Salva il flusso di Wrangler dei dati. Data Wrangler salva automaticamente il flusso di dati ogni 60 secondi.
- Per chiudere l'istanza di Data Wrangler, in Studio, scegli Esecuzione di istanze e kernel.
- Sotto APP IN ESECUZIONE, scegli l'icona di spegnimento accanto a
sagemaker-data-wrangler-1.0
app. - Scegli Chiudi tutto per confermare.
Data Wrangler viene eseguito su un'istanza ml.m5.4xlarge. Questa istanza scompare da ISTANZE DI CORSA quando chiudi l'app Data Wrangler.
Dopo aver chiuso l'app Data Wrangler, deve essere riavviata la prossima volta che apri un file di flusso Data Wrangler. Questo può richiedere alcuni minuti.
Conclusione
In questo post, abbiamo dimostrato come puoi utilizzare i parametri per importare i tuoi set di dati utilizzando i flussi di Data Wrangler e creare lavori di trasformazione dei dati su di essi. I set di dati con parametri consentono una maggiore flessibilità sui set di dati utilizzati e consentono di riutilizzare i flussi. Abbiamo anche dimostrato come puoi impostare processi pianificati per automatizzare le trasformazioni e le esportazioni di dati su Amazon S3 o Feature Store, all'ora e con la periodicità adatte alle tue esigenze, direttamente dall'interfaccia utente di Data Wrangler.
Per ulteriori informazioni sull'utilizzo dei flussi di dati con Data Wrangler, fare riferimento a Creare e utilizzare un flusso di Data Wrangler ed Prezzi di Amazon SageMaker. Per iniziare con Data Wrangler, vedere Prepara i dati ML con Amazon SageMaker Data Wrangler.
Circa gli autori
Davide Laredo è un architetto di prototipazione per il team di prototipazione e ingegneria del cloud presso Amazon Web Services, dove ha contribuito a sviluppare più prototipi di machine learning per i clienti AWS. Ha lavorato nel machine learning negli ultimi 6 anni, addestrando e perfezionando i modelli ML e implementando pipeline end-to-end per produrre tali modelli. Le sue aree di interesse sono la PNL, le applicazioni ML e il ML end-to-end.
Givanildo Alves è un architetto di prototipazione con il team di prototipazione e ingegneria del cloud presso Amazon Web Services, aiutando i clienti a innovare e accelerare mostrando l'arte del possibile su AWS, avendo già implementato diversi prototipi sull'intelligenza artificiale. Ha una lunga carriera nell'ingegneria del software e in precedenza ha lavorato come Software Development Engineer presso Amazon.com.br.
Adriano Fuentes è un Program Manager con il team di Prototyping e Cloud Engineering presso Amazon Web Services, innovando per i clienti in machine learning, IoT e blockchain. Ha oltre 15 anni di esperienza nella gestione e implementazione di progetti e 1 anno di permanenza in AWS.
- AI
- oh arte
- generatore d'arte
- un robot
- Apprendimento automatico di Amazon
- Gestore di dati di Amazon SageMaker
- Annunci
- intelligenza artificiale
- certificazione di intelligenza artificiale
- intelligenza artificiale nel settore bancario
- robot di intelligenza artificiale
- robot di intelligenza artificiale
- software di intelligenza artificiale
- Apprendimento automatico di AWS
- blockchain
- conferenza blockchain ai
- geniale
- intelligenza artificiale conversazionale
- criptoconferenza ai
- dall's
- elaborazione dati
- apprendimento profondo
- google ai
- Intermedio (200)
- machine learning
- Set di dati parametrizzati
- Platone
- platone ai
- Platone Data Intelligence
- Gioco di Platone
- PlatoneDati
- gioco di plato
- scala ai
- Lavori pianificati
- sintassi
- Istruzioni tecniche
- zefiro