Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Como criar de um plug-in personalizado com o Apache Hive e o Hadoop

Modo de foco
Como criar de um plug-in personalizado com o Apache Hive e o Hadoop - Amazon Managed Workflows for Apache Airflow

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O Amazon MWAA extrai o conteúdo de um plugins.zip para /usr/local/airflow/plugins. Isso pode ser usado para adicionar binários aos seus contêineres. Além disso, o Apache Airflow executa o conteúdo dos arquivos Python na pasta plugins em inicialização, permitindo que você defina e modifique variáveis de ambiente. O exemplo a seguir mostra as etapas para criar um plug-in personalizado usando o Apache Hive e o Hadoop em um ambiente Amazon Managed Workflows for Apache Airflow e pode ser combinado com outros plug-ins e binários personalizados.

Versão

  • O código de amostra nesta página pode ser usado com o Apache Airflow v1 em Python 3.7.

  • É possível usar o exemplo de código nesta página com o Apache Airflow v2 no Python 3.10.

Pré-requisitos

Para usar o código de amostra nesta página, você precisará do seguinte:

Permissões

  • Nenhuma permissão adicional é necessária para usar o exemplo de código nesta página.

Requisitos

Para usar o código de amostra nesta página, adicione as seguintes dependências ao seu requirements.txt. Para saber mais, consulte Como instalar dependências do Python.

Apache Airflow v2
-c https://raw.githubusercontent.com/apache/airflow/constraints-2.0.2/constraints-3.7.txt apache-airflow-providers-amazon[apache.hive]
Apache Airflow v1
apache-airflow[hive]==1.10.12
-c https://raw.githubusercontent.com/apache/airflow/constraints-2.0.2/constraints-3.7.txt apache-airflow-providers-amazon[apache.hive]

Download de dependências

O Amazon MWAA extrairá o conteúdo do plugins.zip em /usr/local/airflow/plugins sobre cada contêiner de agendador e trabalho do Amazon MWAA. Isso é usado para adicionar binários ao seu ambiente. As etapas a seguir descrevem como montar os arquivos necessários para o plugin personalizado.

  1. No prompt de comando, navegue até o diretório em que você gostaria de criar seu plug-in. Por exemplo:

    cd plugins
  2. Baixe o Hadoop de um espelho, por exemplo:

    wget https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
  3. Baixe o Hive de um espelho, por exemplo:

    wget https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
  4. Crie um diretório. Por exemplo:

    mkdir hive_plugin
  5. Extraia o Hadoop.

    tar -xvzf hadoop-3.3.0.tar.gz -C hive_plugin
  6. Extraia o Hive.

    tar -xvzf apache-hive-3.1.2-bin.tar.gz -C hive_plugin

Plug-in personalizado

O Apache Airflow executará o conteúdo dos arquivos Python na pasta de plugins na inicialização. Isto é usado para definir e modificar variáveis de ambiente. As seguintes etapas descrevem o código de exemplo para o plugin personalizado.

  1. Em um prompt de comando, navegue até o diretório hive_plugin. Por exemplo:

    cd hive_plugin
  2. Copie o conteúdo da amostra de código a seguir e salve localmente como hive_plugin.py no diretório hive_plugin.

    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'
  3. Copie o conteúdo do texto a seguir e salve localmente como .airflowignore no diretório hive_plugin.

    hadoop-3.3.0 apache-hive-3.1.2-bin

Plugins.zip

As etapas a seguir mostram como criar plugins.zip. O conteúdo deste exemplo pode ser combinado com outros plug-ins e binários em um único arquivo plugins.zip.

  1. Em sua prompt linha de comando, navegue até o diretório hive_plugin da etapa anterior. Por exemplo:

    cd hive_plugin
  2. Compacte o conteúdo em sua pasta plugins.

    zip -r ../hive_plugin.zip ./

Exemplo de código

As etapas a seguir descrevem como criar o código do DAG que testará o plugin personalizado.

  1. No prompt de comando, navegue até o diretório em que o código do DAG está armazenado. Por exemplo:

    cd dags
  2. Copie o conteúdo da amostra de código a seguir e salve localmente como 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' )

Opções de configuração do Airflow

Se você estiver usando o Apache Airflow v2, adicione core.lazy_load_plugins : False como uma opção de configuração do Apache Airflow. Para saber mais, consulte Usar opções de configuração para carregar plug-ins em 2.

Próximas etapas

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.