Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione AWS Glue sessioni interattive per Jupyter e AWS Glue Studio notebook
Introduzione ai magic di Jupyter
I magic di Jupyter sono comandi che possono essere eseguiti all'inizio di una cella o come un intero corpo di una cella. I magic di linea iniziano per %
, i magic di cella per %%
. I magic di linea come %region
e %connections
possono essere eseguiti con più magic in una cella o con codice incluso nel corpo della cella come nell'esempio seguente.
%region us-east-2 %connections my_rds_connection dy_f = glue_context.create_dynamic_frame.from_catalog(database='rds_tables', table_name='sales_table')
I magic di cella devono utilizzare l'intera cella e possono avere il comando esteso su più righe. Un esempio di %%sql
è riportato di seguito.
%%sql select * from rds_tables.sales_table
Magics supportato da AWS Glue sessioni interattive per Jupyter
Di seguito sono elencati i magic che puoi utilizzare con AWS Glue sessioni interattive per notebook Jupyter.
Sessioni Magic
Nome | Tipo | Descrizione |
---|---|---|
%help
|
N/A | Restituisce un elenco di descrizioni e tipi di input per tutti i comandi magic. |
%profile |
Stringa | Specificare un profilo nella AWS configurazione da utilizzare come provider di credenziali. |
%region |
Stringa |
Specificare Regione AWS l'in cui inizializzare la sessione. Impostazione predefinita da Esempio: |
%idle_timeout |
Int |
Il numero di minuti di inattività dopo i quali una sessione andrà in timeout in seguito all'esecuzione di una cella. Il valore predefinito del timeout di inattività per le ETL sessioni Spark è il timeout predefinito, pari a 2.880 minuti (48 ore). Per altri tipi di sessione, consulta la documentazione relativa al tipo di sessione specifico. Esempio: |
%session_id |
N/A | Restituisce l'ID della sessione in esecuzione. |
%session_id_prefix |
Stringa |
Definire una stringa che precederà tutte le sessioni IDs nel formato [session_id_prefix] - [session_id]. Se non viene fornito un ID di sessione, UUID verrà generato un ID casuale. Questo magic non è supportato quando esegui un notebook Jupyter in AWS Glue Studio. Esempio: |
%status |
Restituisce lo stato dell'attuale AWS Glue sessione inclusi la durata, la configurazione e l'utente/ruolo di esecuzione. | |
%stop_session
| Arresta la sessione corrente. | |
%list_sessions |
Elenca tutte le sessioni attualmente in esecuzione per nome e ID. | |
%session_type |
Stringa |
Imposta il tipo di sessione su Flussi di ETL dati o Ray. Esempio: |
%glue_version |
Stringa |
La versione di AWS Glue che questa sessione dovrà utilizzare. Esempio: |
Magic per la selezione dei tipi di processo
Nome | Tipo | Descrizione |
---|---|---|
%streaming |
Stringa | Cambia il tipo di sessione in AWS Glue Streaming. |
%etl |
Stringa | Cambia il tipo di sessione in AWS Glue ETL. |
%glue_ray | Stringa | Cambia il tipo di sessione in AWS Glue per Ray. Vedi Magics supportato dalle sessioni interattive di AWS Glue Ray. |
AWS Glue per Spark config magics
Il magic %%configure
è un dizionario formattato json composto da tutti i parametri di configurazione per una sessione. Ciascun parametro può essere specificato qui o tramite magic individuali.
Nome | Tipo | Descrizione |
---|---|---|
%%configure
|
Dizionario |
Specificare un dizionario JSON formattato composto da tutti i parametri di configurazione per una sessione. Ciascun parametro può essere specificato qui o tramite magic individuali. Per un elenco di parametri ed esempi su come utilizzarlo |
%iam_role |
Stringa |
Specificare un IAM ruolo con ARN cui eseguire la sessione. Predefinito da ~/.aws/configure. Esempio: |
%number_of_workers |
Int |
Il numero di dipendenti di un specifico worker-type allocati quando viene eseguito un processo. Deve essere impostato anche Esempio: |
%additional_python_modules |
Elenco |
Elenco separato da virgole di moduli Python aggiuntivi da includere nel cluster (possono provenire da PyPI o S3). Esempio: |
%%tags |
Stringa |
Aggiunge tag a una sessione. Specifica i tag tra parentesi graffe { }. Ogni coppia di nomi di tag è racchiusa tra parentesi (" ") e separata da una virgola (,).
Utilizza il magic
|
%%assume_role |
Dizionario |
Specificare un dizionario formattato json o una ARN stringa di IAM ruolo per creare una sessione per l'accesso multi-account. ARNEsempio con:
Esempio con credenziali:
|
argomenti del magic di cella %%configure
Il magic %%configure
è un dizionario formattato json composto da tutti i parametri di configurazione per una sessione. Ciascun parametro può essere specificato qui o tramite magic individuali. Di seguito sono riportati alcuni esempi di argomenti supportati dal magic di cella %%configure
. Utilizza il --
prefisso per gli argomenti di esecuzione specificati per il lavoro. Esempio:
%%configure { "--user-jars-first": "true", "--enable-glue-datacatalog": "false" }
Per ulteriori informazioni sui parametri di processo, consultaParametri del processo.
Configurazione della sessione
Parametro | Tipo | Descrizione |
---|---|---|
max_retries |
Int | Il numero massimo di tentativi per riprovare il processo se ha esito negativo.
|
max_concurrent_runs |
Int | Il numero massimo di esecuzioni simultanee consentite per un processo. Esempio:
|
Parametri della sessione
Parametro | Tipo | Descrizione |
---|---|---|
--enable-spark-ui |
Booleano | Abilita l'interfaccia utente di Spark per il monitoraggio e il debug AWS Glue ETLlavori.
|
--spark-event-logs-path |
Stringa | Specifica un percorso Amazon S3. Quando si utilizza la funzionalità di monitoraggio dell'interfaccia utente Spark. Esempio:
|
--script_location |
Stringa | Specifica il percorso S3 per uno script che esegue un processo. Esempio:
|
--SECURITY_CONFIGURATION |
Stringa | Il nome di una configurazione AWS Glue di sicurezza Esempio:
|
--job-language |
Stringa | Il linguaggio di programmazione script. Accetta un valore di "scala" o "python". L'impostazione predefinita è "python". Esempio:
|
--class |
Stringa | La classe Scala che funge da punto di accesso per lo script Scala. L'impostazione predefinita è null. Esempio:
|
--user-jars-first |
Booleano | Assegna la priorità ai JAR file aggiuntivi del cliente nel classpath. L'impostazione predefinita è null. Esempio:
|
--use-postgres-driver |
Booleano | Assegna la priorità al JDBC driver Postgre nel classpath per evitare un conflitto con il driver. Amazon Redshift JDBC L'impostazione predefinita è null. Esempio:
|
--extra-files |
List(string) | I percorsi Amazon S3 dei file aggiuntivi, come file di configurazione che AWS Glue copia nella directory di lavoro dello script prima di eseguirlo. Esempio:
|
--job-bookmark-option |
Stringa | Controlla il comportamento di un segnalibro del processo. Accetta il valore di job-bookmark-enable '', 'job-bookmark-disable' o 'job-bookmark-pause'. L'impostazione predefinita è 'job-bookmark-disable'. Esempio:
|
--TempDir |
Stringa | Specifica un percorso Amazon S3 a un bucket utilizzabile come directory temporanea per il processo. L'impostazione predefinita è null. Esempio:
|
--enable-s3-parquet-optimized-committer |
Booleano | Abilita il committer ottimizzato EMRFS Amazon S3 per la scrittura dei dati Parquet in Amazon S3. Il valore predefinito è "true". Esempio:
|
--enable-rename-algorithm-v2 |
Booleano | Imposta la versione dell'algoritmo di EMRFS ridenominazione alla versione 2. Il valore predefinito è "true". Esempio:
|
--enable-glue-datacatalog |
Booleano | Consente di utilizzare il AWS Glue Catalogo dati come metastore Apache Spark Hive. Esempio:
|
--enable-metrics |
Booleano | Abilita la raccolta di parametri per la profilatura del processo per l'esecuzione. Il valore predefinito è "false". Esempio:
|
--enable-continuous-cloudwatch-log |
Booleano | Abilita la registrazione continua in tempo reale per AWS Glue Processo. Il valore predefinito è "false". Esempio:
|
--enable-continuous-log-filter |
Booleano | Specifica un filtro standard o nessun filtro durante la creazione o la modifica di un processo abilitato per la registrazione continua. Il valore predefinito è "true". Esempio:
|
--continuous-log-stream-prefix |
Stringa | Specificare un prefisso del flusso di Amazon CloudWatch log personalizzato per un processo abilitato per la registrazione continua. L'impostazione predefinita è null. Esempio:
|
--continuous-log-conversionPattern |
Stringa | Specifica un modello di log di conversione personalizzato per un processo abilitato per la registrazione continua. L'impostazione predefinita è null. Esempio:
|
--conf |
Stringa | Controlla i parametri di configurazione di Spark. È per casi d'uso avanzati. Utilizzare --conf prima di ogni parametro. Esempio:
|
timeout | Int | Determina il tempo massimo di attesa che la sessione Spark deve attendere per il completamento di un'istruzione prima di terminarla.
|
auto-scaling | Booleano | Determina se utilizzare o meno l'auto-scaling.
|
Spark jobs (ETLe streaming) magics
Nome | Tipo | Descrizione |
---|---|---|
%worker_type |
Stringa | Standard, G.1X o G.2X. Anche number_of_workers deve essere impostato. Il worker_type predefinito è G.1X. |
%connections |
Elenco |
Specifica un elenco separato da virgola di connessioni da utilizzare nella sessione. Esempio:
|
%extra_py_files |
Elenco | Specifica un elenco separato da virgola di file Python aggiuntivi da Amazon S3. |
%extra_jars |
Elenco | Specifica un elenco separato da virgola di jar aggiuntivi da includere nel cluster. |
%spark_conf |
Stringa | Specifica le configurazioni Spark personalizzate per la sessione. Ad esempio %spark_conf spark.serializer=org.apache.spark.serializer.KryoSerializer . |
Magic per processi Ray
Nome | Tipo | Descrizione |
---|---|---|
%min_workers |
Int | Il numero minimo di worker allocati a un processo Ray. Default: 1. Esempio: |
%object_memory_head |
Int | La percentuale di memoria libera sul nodo principale dell'istanza dopo un avvio a caldo. Minimo: 0 Massimo: 100 Esempio: |
%object_memory_worker | Int | La percentuale di memoria libera sui nodi worker dell'istanza dopo un avvio a caldo. Minimo: 0 Massimo: 100 Esempio: |
Magic operativi
Nome | Tipo | Descrizione |
---|---|---|
%%sql |
Stringa |
Esegui codiceSQL. Tutte le righe dopo la Esempio: |
%matplot |
Figura matplotlib |
Visualizza i dati utilizzando la libreria matplotlib. Esempio:
|
%plotly |
Figura plotly |
Visualizza i dati utilizzando la libreria plotly. Esempio:
|
Sessioni di denominazione
AWS Glue Le sessioni interattive sono AWS risorse e richiedono un nome. I nomi devono essere univoci per ogni sessione e possono essere limitati dagli IAM amministratori. Per ulteriori informazioni, consulta Sessioni interattive con IAM. Il kernel Jupyter genera automaticamente nomi di sessione univoci per tuo conto. Tuttavia, le sessioni possono essere nominate manualmente in due modi:
-
Utilizzando il file di AWS Command Line Interface configurazione che si trova in.
~.aws/config
Vedere Configurazione di AWS Config con. AWS Command Line Interface -
Utilizzo dei magic
%session_id_prefix
. Per informazioni, consulta Magics supportato da AWS Glue sessioni interattive per Jupyter .
Il nome di una sessione viene generato come segue:
Quando vengono forniti il prefisso e session_id: il nome della sessione sarà {prefisso} - {}. UUID
Quando non viene fornito nulla: il nome della sessione sarà {UUID}.
Il prefisso dei nomi delle sessioni consente di riconoscere una sessione quando viene elencata nella AWS CLI o nella console.
Specificare un IAM ruolo per le sessioni interattive
È necessario specificare un ruolo AWS Identity and Access Management (IAM) da utilizzare con AWS Glue ETLcodice che esegui con sessioni interattive.
Il ruolo deve disporre delle stesse IAM autorizzazioni di quelle necessarie per l'esecuzione AWS Glue Processo. Vedi Creare un IAM ruolo per AWS Glueper ulteriori informazioni sulla creazione di un ruolo per AWS Glue Processo e sessioni interattive.
IAMI ruoli possono essere specificati in due modi:
-
Utilizzando il file di AWS Command Line Interface configurazione che si trova in
~.aws/config
(consigliato). Per ulteriori informazioni, consulta Configurazione di sessioni con ~/.aws/config .Nota
Quando il magic
%profile
è in uso, la configurazione perglue_iam_role
di quel profilo è mantenuta. -
Usando il magic %iam_role. Per ulteriori informazioni, consulta Magics supportato da AWS Glue sessioni interattive per Jupyter .
Configurazione di sessioni con profili denominati
AWS Glue Le sessioni interattive utilizzano le stesse credenziali di AWS Command Line Interface o boto3. Le sessioni interattive onorano e lavorano con profili denominati come il che AWS CLI si trova in (~/.aws/config
Linux e macOS) o (Windows). %USERPROFILE%\.aws\config
Per ulteriori informazioni, consulta la sezione Using named profiles.
Le sessioni interattive sfruttano i profili denominati consentendo AWS Glue Ruolo di servizio e ID sessione da specificare in un profilo. Per configurare un ruolo di profilo, aggiungere una riga per la chiave iam_role
e/o session_id_prefix
al tuo profilo denominato come mostrato di seguito. Il valore session_id_prefix
non richiede virgolette. Ad esempio, se desideri aggiungere un
session_id_prefix
, inserisci il valore di session_id_prefix=myprefix
.
[default] region=us-east-1 aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRole> session_id_prefix=<prefix_for_session_names> [user1] region=eu-west-1 aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRoleUser1> session_id_prefix=<prefix_for_session_names_for_user1>
Se si dispone di un metodo personalizzato per generare credenziali, è anche possibile configurare il profilo in modo che utilizzi il parametro credential_process
nel file ~/.aws/config
. Ad esempio:
[profile developer] region=us-east-1 credential_process = "/Users/Dave/generate_my_credentials.sh" --username helen
Puoi trovare ulteriori dettagli sulle credenziali di approvvigionamento tramite il parametro credential_process
qui: Credenziali di approvvigionamento con un processo esterno.
Se nel profilo che state usando non sono impostate una regione o un iam_role
, dovete specificarli usando le %region
e i %iam_role
magic nella prima cella che eseguite.