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à.
Creazione di un plugin personalizzato con Apache Hive e Hadoop
Amazon MWAA estrae il contenuto di un to. plugins.zip
/usr/local/airflow/plugins
Questo può essere usato per aggiungere file binari ai contenitori. Inoltre, Apache Airflow esegue il contenuto dei file Python nella plugins
cartella all'avvio, consentendoti di impostare e modificare le variabili di ambiente. L'esempio seguente illustra i passaggi per creare un plug-in personalizzato utilizzando Apache Hive e Hadoop in un ambiente Amazon Managed Workflows for Apache Airflow e può essere combinato con altri plug-in e binari personalizzati.
Argomenti
Versione
Prerequisiti
Per utilizzare il codice di esempio in questa pagina, avrai bisogno di quanto segue:
-
Un ambiente Amazon MWAA.
Autorizzazioni
-
Non sono necessarie autorizzazioni aggiuntive per utilizzare l'esempio di codice in questa pagina.
Requisiti
Per utilizzare il codice di esempio in questa pagina, aggiungi le seguenti dipendenze al tuo. requirements.txt
Per ulteriori informazioni, consulta Installazione delle dipendenze in Python.
Scarica le dipendenze
Amazon MWAA estrarrà il contenuto di plugins.zip in /usr/local/airflow/plugins
ogni container di scheduler e worker Amazon MWAA. Viene utilizzato per aggiungere file binari al tuo ambiente. I passaggi seguenti descrivono come assemblare i file necessari per il plug-in personalizzato.
-
Nel prompt dei comandi, accedete alla directory in cui desiderate creare il plugin. Per esempio:
cd plugins
-
Scarica Hadoop
da un mirror , ad esempio: wget https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
-
Scarica Hive
da un mirror , ad esempio: wget https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
-
Crea una directory. Per esempio:
mkdir hive_plugin
-
Estrai Hadoop.
tar -xvzf hadoop-3.3.0.tar.gz -C hive_plugin
-
Estrai Hive.
tar -xvzf apache-hive-3.1.2-bin.tar.gz -C hive_plugin
Plugin personalizzato
Apache Airflow eseguirà il contenuto dei file Python nella cartella plugins all'avvio. Viene utilizzato per impostare e modificare le variabili di ambiente. I passaggi seguenti descrivono il codice di esempio per il plug-in personalizzato.
-
Nel prompt dei comandi, accedi alla
hive_plugin
directory. Per esempio:cd hive_plugin
-
Copiate il contenuto del seguente esempio di codice e salvatelo localmente come
hive_plugin.py
nellahive_plugin
directory.from airflow.plugins_manager import AirflowPlugin import os os.environ["JAVA_HOME"]="/usr/lib/jvm/jre" os.environ["HADOOP_HOME"]='/usr/local/airflow/plugins/hadoop-3.3.0' os.environ["HADOOP_CONF_DIR"]='/usr/local/airflow/plugins/hadoop-3.3.0/etc/hadoop' os.environ["HIVE_HOME"]='/usr/local/airflow/plugins/apache-hive-3.1.2-bin' os.environ["PATH"] = os.getenv("PATH") + ":/usr/local/airflow/plugins/hadoop-3.3.0:/usr/local/airflow/plugins/apache-hive-3.1.2-bin/bin:/usr/local/airflow/plugins/apache-hive-3.1.2-bin/lib" os.environ["CLASSPATH"] = os.getenv("CLASSPATH") + ":/usr/local/airflow/plugins/apache-hive-3.1.2-bin/lib" class EnvVarPlugin(AirflowPlugin): name = 'hive_plugin'
-
Copia il contenuto del testo seguente e salvalo localmente come
.airflowignore
nellahive_plugin
directory.hadoop-3.3.0 apache-hive-3.1.2-bin
Plugins.zip
I passaggi seguenti mostrano come creareplugins.zip
. Il contenuto di questo esempio può essere combinato con altri plugin e binari in un unico plugins.zip
file.
-
Nel prompt dei comandi, accedete alla
hive_plugin
directory del passaggio precedente. Per esempio:cd hive_plugin
-
Comprimi il contenuto all'interno della
plugins
cartella.zip -r ../hive_plugin.zip ./
Esempio di codice
I passaggi seguenti descrivono come creare il codice DAG che testerà il plug-in personalizzato.
-
Nel prompt dei comandi, accedete alla directory in cui è memorizzato il codice DAG. Per esempio:
cd dags
-
Copia il contenuto del seguente esempio di codice e salvalo localmente come.
hive.py
from airflow import DAG from airflow.operators.bash_operator import BashOperator from airflow.utils.dates import days_ago with DAG(dag_id="hive_test_dag", schedule_interval=None, catchup=False, start_date=days_ago(1)) as dag: hive_test = BashOperator( task_id="hive_test", bash_command='hive --help' )
Opzioni di configurazione del flusso d'aria
Se utilizzi Apache Airflow v2, aggiungilo core.lazy_load_plugins : False
come opzione di configurazione Apache Airflow. Per saperne di più, consulta Usare le opzioni di configurazione per caricare i plugin in 2.
Fasi successive
-
Scopri come caricare il
requirements.txt
file in questo esempio nel tuo bucket Amazon S3 in. Installazione delle dipendenze in Python -
Scopri come caricare il codice DAG in questo esempio nella
dags
cartella del tuo bucket Amazon S3 in. Aggiungere o aggiornare DAGs -
Scopri di più su come caricare il
plugins.zip
file in questo esempio nel tuo bucket Amazon S3 in. Installazione di plugin personalizzati