

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à.

# Risolvi i problemi relativi ai notebook Studio per Managed Service for Apache Flink
<a name="how-zeppelin-troubleshooting"></a>

Questa sezione contiene informazioni sulla risoluzione dei problemi per i notebook Studio.

## Arresta un'applicazione bloccata
<a name="how-zeppelin-troubleshooting-stopping"></a>

Per arrestare un'applicazione bloccata in uno stato transitorio, richiamate l'[StopApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_StopApplication.html)azione con il `Force` parametro impostato su. `true` Per ulteriori informazioni, consulta [Applicazioni in esecuzione](https://docs.aws.amazon.com/managed-flink/latest/java/how-running-apps.html) nella [Guida per gli sviluppatori del servizio gestito per Apache Flink](https://docs.aws.amazon.com/managed-flink/latest/java/).

## Implementa come applicazione con stato durevole in un VPC senza accesso a Internet
<a name="how-zeppelin-troubleshooting-deploying-no-internet"></a>

La funzione di implementazione come applicazione del servizio gestito per Apache Flink Studio non supporta le applicazioni VPC senza accesso a Internet. Si consiglia di creare l'applicazione in Studio e quindi di utilizzare il servizio gestito per Apache Flink per creare manualmente un'applicazione Flink e selezionare il file zip che hai creato nel tuo notebook.

I passaggi seguenti descrivono come farlo: 

1. Compila ed esporta l'applicazione Studio in Amazon S3. Dovrebbe trattarsi di un file zip. 

1. Crea manualmente un'applicazione del servizio gestito per Apache Flink con il percorso del codice che fa riferimento alla posizione del file zip in Amazon S3. Inoltre, dovrai configurare l'applicazione con le seguenti variabili `env` (2 `groupID`, 3 `var` in totale): 

1. kinesis.analytics.flink.run.options

   1. python: .py source/note

   1. file jar: .jar lib/PythonApplicationDependencies

1. managed.deploy\_as\_app.options

   1. DatabasEarn: {{<glue database ARN (Amazon Resource Name)>}}

1. Potrebbe essere necessario concedere ai ruoli IAM del servizio gestito per Apache Flink Studio e del servizio gestito per Apache Flink le autorizzazioni per i servizi utilizzati dall'applicazione. È possibile utilizzare lo stesso ruolo IAM per entrambe le applicazioni.

## Deploy-as-app riduzione delle dimensioni e dei tempi di costruzione
<a name="how-zeppelin-troubleshooting-deploying-as-app-reduce-build-time"></a>

Le applicazioni deploy-as-app Studio per Python includono tutto ciò che è disponibile nell'ambiente Python perché non possiamo determinare quali librerie ti serviranno. Ciò può comportare dimensioni di implementazione come applicazione più grandi del necessario. La procedura seguente illustra come ridurre le dimensioni dell'applicazione Python con la funzionalità di implementazione come applicazione disinstallando le dipendenze.

Se stai creando un'applicazione Python con la funzionalità di implementazione come applicazione da Studio, potresti prendere in considerazione la rimozione dal sistema dei pacchetti Python preinstallati se le tue applicazioni non dipendono da essi. Ciò non solo contribuirà a ridurre le dimensioni finali degli artefatti per evitare di superare il limite di servizio per le dimensioni delle applicazioni, ma migliorerà anche i tempi di creazione delle applicazioni con la funzionalità di implementazione come applicazione.

È possibile eseguire il seguente comando per elencare tutti i pacchetti Python installati con le rispettive dimensioni installate e rimuovere selettivamente i pacchetti con dimensioni significative.

```
%flink.pyflink

!pip list --format freeze | awk -F = {'print $1'} | xargs pip show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{gsub("-","_",$1); print $2 "/" tolower($1)}' | xargs du -sh 2> /dev/null | sort -hr
```

**Nota**  
`apache-beam` è richiesto per il funzionamento di Flink Python. Questo pacchetto e le sue dipendenze non devono mai essere rimossi.

Di seguito è riportato l'elenco dei pacchetti Python preinstallati in Studio V2 che possono essere presi in considerazione per la rimozione:

```
scipy
statsmodels
plotnine
seaborn
llvmlite
bokeh
pandas
matplotlib
botocore
boto3
numba
```

**Per rimuovere un pacchetto Python dal notebook Zeppelin:**

1. Controlla se la tua applicazione dipende dal pacchetto, o da uno dei pacchetti che la utilizzano, prima di rimuoverla. È possibile identificare i dipendenti di un pacchetto utilizzando [pipdeptree](https://pypi.org/project/pipdeptree/).

1. Esegui il seguente comando per rimuovere un pacchetto:

   ```
   %flink.pyflink
   !pip uninstall -y <package-to-remove>
   ```

1. Se hai bisogno di recuperare un pacchetto rimosso per errore, esegui il seguente comando:

   ```
   %flink.pyflink
   !pip install <package-to-install>
   ```

**Example Esempio: rimuovi il pacchetto `scipy` prima di implementare l'applicazione Python con la funzionalità di implementazione come applicazione.**  

1. Utilizza `pipdeptree` per scoprire tutti i consumatori `scipy` e verificare se puoi rimuovere `scipy` in sicurezza.
   + Installa lo strumento tramite notebook:

     ```
     %flink.pyflink             
     !pip install pipdeptree
     ```
   + Ottieni l'albero delle dipendenze invertito di `scipy` eseguendo:

     ```
     %flink.pyflink
     !pip -r -p scipy
     ```

     Verrà visualizzato un output simile al seguente (condensato per brevità):

     ```
     ...
     ------------------------------------------------------------------------ 
     scipy==1.8.0 
     ├── plotnine==0.5.1 [requires: scipy>=1.0.0] 
     ├── seaborn==0.9.0 [requires: scipy>=0.14.0] 
     └── statsmodels==0.12.2 [requires: scipy>=1.1] 
         └── plotnine==0.5.1 [requires: statsmodels>=0.8.0]
     ```

1. Ispeziona attentamente l'utilizzo di `seaborn`, `statsmodels` e `plotnine` nelle tue applicazioni. Se le tue applicazioni non dipendono da `scipy`, `seaborn`, `statemodels` o da `plotnine`, puoi rimuovere tutti questi pacchetti o solo quelli che non sono necessari alle tue applicazioni.

1. Rimuovi il pacchetto eseguendo:

   ```
   !pip uninstall -y scipy plotnine seaborn statemodels
   ```

## Annullare job
<a name="how-notbook-canceling-jobs"></a>

Questa sezione mostra come annullare i processi di Apache Flink a cui non puoi accedere da Apache Zeppelin. Se desideri annullare un processo di questo tipo, vai al pannello di controllo di Apache Flink, copia l'ID del processo, quindi utilizzalo in uno dei seguenti esempi.

Per annullare un singolo processo:

```
%flink.pyflink
import requests

requests.patch("https://zeppelin-flink:8082/jobs/[job_id]", verify=False)
```

Per annullare tutti i processi in esecuzione:

```
%flink.pyflink
import requests

r = requests.get("https://zeppelin-flink:8082/jobs", verify=False)
jobs = r.json()['jobs']

for job in jobs:
    if (job["status"] == "RUNNING"):
        print(requests.patch("https://zeppelin-flink:8082/jobs/{}".format(job["id"]), verify=False))
```

Per annullare tutti i processi:

```
%flink.pyflink
import requests

r = requests.get("https://zeppelin-flink:8082/jobs", verify=False)
jobs = r.json()['jobs']

for job in jobs:
    requests.patch("https://zeppelin-flink:8082/jobs/{}".format(job["id"]), verify=False)
```

## Riavvia l'interprete Apache Flink
<a name="how-notbook-restarting-interpreter"></a>

Per riavviare l'interprete Apache Flink sul notebook Studio

1. Scegli **Configurazione** accanto all'angolo in alto a destra della schermata.

1. Scegli **Interprete**.

1. Scegli **riavvia** e poi **OK**.