

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Installation und Verwendung von Kerneln und Bibliotheken in EMR Studio
<a name="emr-managed-notebooks-installing-libraries-and-kernels"></a>

Jedes EMR Notebook wird mit einer Reihe vorinstallierter Bibliotheken und Kernel ausgeliefert. Sie können in einem EMR-Cluster zusätzliche Bibliotheken und Kernel installieren, wenn der Cluster Zugriff auf das Repository hat, in dem sich die Kernel und Bibliotheken befinden. Beispielsweise müssen Sie für Cluster in privaten Subnetzen möglicherweise die Netzwerkadressübersetzung (Network Address Translation, NAT) konfigurieren und dem Cluster einen Pfad für den Zugriff auf das öffentliche PyPI-Repository angeben, um eine Bibliothek zu installieren. Weitere Informationen zum Konfigurieren des externen Zugriffs für verschiedene Netzwerkkonfigurationen finden Sie unter [Szenarien und Beispiele](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenarios.html) im *Amazon-VPC-Benutzerhandbuch.*

**Anmerkung**  
EMR Notebooks sind als EMR Studio-Workspaces in der Konsole verfügbar. Mit der Schaltfläche „**Arbeitsbereich erstellen**“ in der Konsole können Sie neue Notizbücher erstellen. Um auf Workspaces zuzugreifen oder diese zu erstellen, benötigen EMR-Notebook-Benutzer zusätzliche IAM-Rollenberechtigungen. Weitere Informationen finden Sie unter [Amazon EMR Notebooks sind Amazon EMR Studio Workspaces in der Konsole und [Amazon](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html) EMR-Konsole](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html).<a name="emr-managed-notebooks-serverless"></a>

Serverlose EMR-Anwendungen verfügen über die folgenden vorinstallierten Bibliotheken für Python und: PySpark 
+ **Python-Bibliotheken** – ggplot, matplotlib, numpy, pandas, plotly, bokeh, scikit-learn, scipy, scipy
+ **PySpark Bibliotheken** —ggplot,,matplotlib,numpy,,pandas,plotly, bokeh scikit-learn scipy scipy

## Installieren von Kernels und Python-Bibliotheken auf einem Cluster-Primärknoten
<a name="emr-managed-notebooks-cluster-kernel"></a>

Mit Amazon-EMR-Version 5.30.0 und höher (außer Version 6.0.0) können Sie zusätzliche Python-Bibliotheken und Kernel auf dem Primärknoten des Clusters installieren. Nach der Installation stehen diese Kernel und Bibliotheken allen Benutzern zur Verfügung, die ein an den Cluster angefügtes EMR Notebook ausführen. Auf diese Weise installierte Python-Bibliotheken sind nur für Prozesse verfügbar, die auf dem Primärknoten ausgeführt werden. Die Bibliotheken werden nicht auf Core- oder Aufgabenknoten installiert und sind für Executors, die auf diesen Knoten ausgeführt werden, nicht verfügbar.

**Anmerkung**  
Für die Amazon-EMR-Versionen 5.30.1, 5.31.0 und 6.1.0 müssen Sie zusätzliche Schritte unternehmen, um Kernel und Bibliotheken auf dem Primärknoten eines Clusters zu installieren.   
Um das Feature zu aktivieren, gehen Sie wie folgt vor:  
Stellen Sie sicher, dass die der Servicerolle für EMR Notebooks zugeordnete Berechtigungsrichtlinie die folgende Aktion zulässt:  
`elasticmapreduce:ListSteps`  
Weitere Informationen finden Sie unter [Servicerolle für EMR-Notebooks](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-service-role.html).
Verwenden Sie den AWS CLI , um einen Schritt auf dem Cluster auszuführen, der EMR Notebooks einrichtet, wie im folgenden Beispiel gezeigt. Sie müssen den Schrittnamen `EMRNotebooksSetup` verwenden. *us-east-1*Ersetzen Sie durch die Region, in der sich Ihr Cluster befindet. Weitere Informationen finden Sie unter [Hinzufügen von Schritten zu einem Cluster AWS CLI](https://docs.aws.amazon.com/emr/latest/ManagementGuide/add-step-cli.html).  

   ```
   aws emr add-steps --cluster-id MyClusterID --steps Type=CUSTOM_JAR,Name=EMRNotebooksSetup,ActionOnFailure=CONTINUE,Jar=s3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://awssupportdatasvcs.com/bootstrap-actions/EMRNotebooksSetup/emr-notebooks-setup.sh"]
   ```

Sie können Kernel und Bibliotheken mithilfe von `pip` oder `conda` im `/emr/notebook-env/bin`-Verzeichnis auf dem Primärknoten installieren. 

**Example – Installieren von Python-Bibliotheken**  
Führen Sie im Python3-Kernel den `%pip` Magic als Befehl in einer Notebook-Zelle aus, um Python-Bibliotheken zu installieren.  

```
%pip install pmdarima
```
Möglicherweise müssen Sie den Kernel neu starten, um aktualisierte Pakete verwenden zu können. Sie können auch die [https://ipython.readthedocs.io/en/stable/interactive/magics.html#cellmagic-sh](https://ipython.readthedocs.io/en/stable/interactive/magics.html#cellmagic-sh)-Spark-Magie zum Aufrufen von `pip` verwenden.  

```
%%sh
/emr/notebook-env/bin/pip install -U matplotlib
/emr/notebook-env/bin/pip install -U pmdarima
```
Wenn Sie einen PySpark Kernel verwenden, können Sie entweder Bibliotheken auf dem Cluster mithilfe von `pip` Befehlen installieren oder Bibliotheken für Notebooks innerhalb eines Notebooks verwenden. PySpark   
Um `pip`-Befehle auf dem Cluster vom Terminal aus auszuführen, stellen Sie zunächst über SSH eine Verbindung zum Primärknoten her, wie die folgenden Befehle zeigen.  

```
sudo pip3 install -U matplotlib
sudo pip3 install -U pmdarima
```
Alternativ können Sie Bibliotheken im Notebookbereich verwenden. Bei Bibliotheken für Notebooks ist Ihre Bibliotheksinstallation auf den Umfang Ihrer Sitzung beschränkt und erfolgt auf allen Spark-Executoren. Weitere Informationen finden Sie unter [Verwenden von Notebook Bibliotheken](#emr-managed-notebooks-custom-libraries-limitations).   
Wenn Sie mehrere Python-Bibliotheken in einen PySpark Kernel packen möchten, können Sie auch eine isolierte virtuelle Python-Umgebung erstellen. Anwendungsbeispiele finden Sie unter [VerwendenVirtualenv](https://spark.apache.org/docs/latest/api/python/tutorial/python_packaging.html#using-virtualenv).   
Um eine virtuelle Python-Umgebung in einer Sitzung zu erstellen, verwenden Sie die Spark-Eigenschaft `spark.yarn.dist.archives` aus dem `%%configure` magischen Befehl in der ersten Zelle in einem Notebook, wie das folgende Beispiel zeigt.  

```
%%configure -f
{
   "conf": {
   "spark.yarn.appMasterEnv.PYSPARK_PYTHON":"./environment/bin/python",
   "spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON":"./environment/bin/python",
   "spark.yarn.dist.archives":"s3://amzn-s3-demo-bucket/prefix/my_pyspark_venv.tar.gz#environment",
   "spark.submit.deployMode":"cluster"
   }
}
```
Auf ähnliche Weise können Sie eine Spark-Executor-Umgebung erstellen.  

```
%%configure -f
{
   "conf": {
   "spark.yarn.appMasterEnv.PYSPARK_PYTHON":"./environment/bin/python",
   "spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON":"./environment/bin/python",
   "spark.executorEnv.PYSPARK_PYTHON":"./environment/bin/python",
   "spark.yarn.dist.archives":"s3://amzn-s3-demo-bucket/prefix/my_pyspark_venv.tar.gz#environment",
   "spark.submit.deployMode":"cluster"
   }
}
```
Sie können es auch `conda` zur Installation von Python-Bibliotheken verwenden. Für die Verwendung von `conda` benötigen Sie keinen Sudo-Zugriff. Sie müssen über SSH eine Verbindung mit dem Primärknoten herstellen und dann `conda` vom Terminal aus ausführen. Weitere Informationen finden Sie unter [Stellen Sie mithilfe von SSH eine Connect zum primären Knoten des Amazon EMR-Clusters her](emr-connect-master-node-ssh.md). 

**Example – Installieren eines Kernels**  
Das folgende Beispiel zeigt die Installation des Kotlin-Kernels mithilfe eines Terminalbefehls, während eine Verbindung zum Primärknoten eines Clusters besteht:  

```
sudo /emr/notebook-env/bin/conda install kotlin-jupyter-kernel -c jetbrains
```
Diese Anweisungen installieren keine Kernel-Abhängigkeiten. Wenn Ihr Kernel Abhängigkeiten von Drittanbietern hat, müssen Sie möglicherweise zusätzliche Einrichtungsschritte durchführen, bevor Sie den Kernel mit Ihrem Notebook verwenden können.

## Überlegungen und Einschränkungen bei Bibliotheken für Notebooks
<a name="emr-managed-notebooks-custom-libraries-limitations"></a>

Beachten Sie bei der Verwendung von Bibliotheken im Format Notebook-Scoped Folgendes:
+ Bibliotheken für Notebooks sind für Cluster verfügbar, die Sie mit Amazon-EMR-Versionen 5.26.0 und höher erstellen.
+ Bibliotheken für Notebooks sind nur für die Verwendung mit dem Kernel vorgesehen. PySpark
+ Jeder Benutzer kann zusätzliche dedizierte Notebook-Bibliotheken innerhalb einer Notebook-Zelle installieren. Diese Bibliotheken stehen diesem Notebook-Benutzer nur während genau einer Notebook-Sitzung zur Verfügung. Wenn andere Benutzer dieselben Bibliotheken benötigen oder derselbe Benutzer dieselben Bibliotheken in einer anderen Sitzung benötigt, muss die Bibliothek neu installiert werden.
+ Sie können nur die Bibliotheken deinstallieren, die mit der `install_pypi_package`-API installiert wurden. Sie können keine Bibliotheken deinstallieren, die auf dem Cluster vorinstalliert sind.
+ Wenn dieselben Bibliotheken mit unterschiedlichen Versionen auf dem Cluster und als Notebook-Bibliotheken installiert sind, überschreibt die Version der Notebook-Bibliothek die Version der Cluster-Bibliothek.

## Arbeiten mit Notebook-Bibliotheken
<a name="emr-managed-notebooks-work-with-libraries"></a>

Um Bibliotheken zu installieren, muss Ihr Amazon-EMR-Cluster Zugriff auf das PyPI-Repository haben, in dem sich die Bibliotheken befinden.

Die folgenden Beispiele zeigen einfache Befehle zum Auflisten, Installieren und Deinstallieren von Bibliotheken innerhalb einer Notebookzelle mithilfe des Kernels und. PySpark APIs Weitere Beispiele finden [Sie im Beitrag Installieren von Python-Bibliotheken auf einem laufenden Cluster mit EMR Notebooks](https://aws.amazon.com/blogs/big-data/install-python-libraries-on-a-running-cluster-with-emr-notebooks/) im AWS Big Data-Blog.

**Example – Auflisten aktueller Bibliotheken**  
Der folgende Befehl listet die Python-Pakete auf, die für die aktuelle Spark-Notebook-Sitzung verfügbar sind. Hiermit werden Bibliotheken aufgelistet, die auf dem Cluster installiert sind, und Bibliotheken für Notebook-Bereiche.  

```
sc.list_packages()
```

**Example – Installieren der Celery-Bibliothek**  
Mit dem folgenden Befehl wird die [Celery](https://pypi.org/project/celery/)-Bibliothek als Notebook-Bibliothek installiert.  

```
sc.install_pypi_package("celery")
```
Nach der Installation der Bibliothek bestätigt der folgende Befehl, dass die Bibliothek auf dem Spark-Treiber und den Executors verfügbar ist.  

```
import celery
sc.range(1,10000,1,100).map(lambda x: celery.__version__).collect()
```

**Example – Installieren der Arrow-Bibliothek unter Angabe der Version und des Repositorys**  
Mit dem folgenden Befehl wird die [Pfeilbibliothek](https://pypi.org/project/arrow/) als Bibliothek mit einem „Notebook-Scoped“-Format mit einer Spezifikation der Bibliotheksversion und der Repository-URL installiert.  

```
sc.install_pypi_package("arrow==0.14.0", "https://pypi.org/simple")
```

**Example – Deinstallieren einer Bibliothek**  
Der folgende Befehl deinstalliert die Pfeilbibliothek und entfernt sie als Notebook-Bibliothek aus der aktuellen Sitzung.  

```
sc.uninstall_package("arrow")
```