Partilhar via


Utilizar o Apache Oozie com o Apache Hadoop para definir e executar um fluxo de trabalho no Azure HDInsight baseado em Linux

Saiba como usar o Apache Oozie com o Apache Hadoop no Azure HDInsight. O Oozie é um sistema de fluxo de trabalho e coordenação que gerencia trabalhos do Hadoop. O Oozie é integrado à pilha Hadoop e suporta os seguintes trabalhos:

  • Apache Hadoop MapReduce
  • Apache Pig
  • Apache Hive
  • Apache Sqoop

Você também pode usar o Oozie para agendar trabalhos específicos de um sistema, como programas Java ou shell scripts.

Nota

Outra opção para definir fluxos de trabalho com o HDInsight é usar o Azure Data Factory. Para saber mais sobre o Data Factory, consulte Usar o Apache Pig e o Apache Hive com o Data Factory. Para usar o Oozie em clusters com o Enterprise Security Package, consulte Executar o Apache Oozie em clusters Hadoop do HDInsight com o Enterprise Security Package.

Pré-requisitos

Exemplo de fluxo de trabalho

O fluxo de trabalho usado neste documento contém duas ações. Ações são definições para tarefas, como executar Hive, Sqoop, MapReduce ou outros processos:

Diagrama de fluxo de trabalho oozie do HDInsight.

  1. Uma ação do Hive executa um script HiveQL para extrair registros do hivesampletable que está incluído no HDInsight. Cada linha de dados descreve uma visita de um dispositivo móvel específico. O formato do registo é semelhante ao seguinte texto:

    8       18:54:20        en-US   Android Samsung SCH-i500        California     United States    13.9204007      0       0
    23      19:19:44        en-US   Android HTC     Incredible      Pennsylvania   United States    NULL    0       0
    23      19:19:46        en-US   Android HTC     Incredible      Pennsylvania   United States    1.4757422       0       1
    

    O script Hive usado neste documento conta o total de visitas para cada plataforma, como Android ou iPhone, e armazena as contagens em uma nova tabela Hive.

    Para obter mais informações sobre o Hive, consulte [Usar o Apache Hive com HDInsight][hdinsight-use-hive].

  2. Uma ação Sqoop exporta o conteúdo da nova tabela do Hive para uma tabela criada no Banco de Dados SQL do Azure. Para obter mais informações sobre o Sqoop, consulte Usar o Apache Sqoop com o HDInsight.

Nota

Para obter versões do Oozie suportadas em clusters HDInsight, consulte Novidades nas versões de cluster Hadoop fornecidas pelo HDInsight.

Criar o diretório de trabalho

O Oozie espera que você armazene todos os recursos necessários para um trabalho no mesmo diretório. Este exemplo utiliza wasbs:///tutorials/useoozie. Para criar esse diretório, conclua as seguintes etapas:

  1. Edite o código abaixo para substituir sshuser pelo nome de usuário SSH do cluster e substitua CLUSTERNAME pelo nome do cluster. Em seguida, insira o código para se conectar ao cluster HDInsight usando SSH.

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Para criar o diretório, use o seguinte comando:

    hdfs dfs -mkdir -p /tutorials/useoozie/data
    

    Nota

    O -p parâmetro causa a criação de todos os diretórios no caminho. O data diretório é usado para armazenar os dados usados pelo useooziewf.hql script.

  3. Edite o código abaixo para substituir sshuser pelo seu nome de usuário SSH. Para se certificar de que o Oozie pode representar sua conta de usuário, use o seguinte comando:

    sudo adduser sshuser users
    

    Nota

    Você pode ignorar erros que indicam que o usuário já é um membro do users grupo.

Adicionar um driver de banco de dados

Esse fluxo de trabalho usa o Sqoop para exportar dados para o banco de dados SQL. Portanto, você deve fornecer uma cópia do driver JDBC usado para interagir com o banco de dados SQL. Para copiar o driver JDBC para o diretório de trabalho, use o seguinte comando da sessão SSH:

hdfs dfs -put /usr/share/java/sqljdbc_7.0/enu/mssql-jdbc*.jar /tutorials/useoozie/

Importante

Verifique o driver JDBC real que existe em /usr/share/java/.

Se seu fluxo de trabalho usou outros recursos, como um jar que contém um aplicativo MapReduce, você também precisará adicionar esses recursos.

Definir a consulta do Hive

Use as etapas a seguir para criar um script Hive query language (HiveQL) que define uma consulta. Você usará a consulta em um fluxo de trabalho do Oozie posteriormente neste documento.

  1. A partir da conexão SSH, use o seguinte comando para criar um arquivo chamado useooziewf.hql:

    nano useooziewf.hql
    
  2. Depois que o editor GNU nano abrir, use a seguinte consulta como o conteúdo do arquivo:

    DROP TABLE ${hiveTableName};
    CREATE EXTERNAL TABLE ${hiveTableName}(deviceplatform string, count string) ROW FORMAT DELIMITED
    FIELDS TERMINATED BY '\t' STORED AS TEXTFILE LOCATION '${hiveDataFolder}';
    INSERT OVERWRITE TABLE ${hiveTableName} SELECT deviceplatform, COUNT(*) as count FROM hivesampletable GROUP BY deviceplatform;
    

    Há duas variáveis usadas no script:

    • ${hiveTableName}: Contém o nome da tabela a ser criada.

    • ${hiveDataFolder}: Contém o local para armazenar os arquivos de dados para a tabela.

      O arquivo de definição de fluxo de trabalho, workflow.xml neste artigo, passa esses valores para esse script HiveQL em tempo de execução.

  3. Para guardar o ficheiro, selecione Ctrl+X, introduza Y e, em seguida, selecione Enter.

  4. Use o seguinte comando para copiar useooziewf.hql para wasbs:///tutorials/useoozie/useooziewf.hql:

    hdfs dfs -put useooziewf.hql /tutorials/useoozie/useooziewf.hql
    

    Este comando armazena o useooziewf.hql arquivo no armazenamento compatível com HDFS para o cluster.

Definir o fluxo de trabalho

As definições de fluxo de trabalho do Oozie são escritas em Hadoop Process Definition Language (hPDL), que é uma linguagem de definição de processo XML. Use as seguintes etapas para definir o fluxo de trabalho:

  1. Use a seguinte instrução para criar e editar um novo arquivo:

    nano workflow.xml
    
  2. Depois que o editor nano abrir, insira o seguinte XML como conteúdo do arquivo:

    <workflow-app name="useooziewf" xmlns="uri:oozie:workflow:0.2">
        <start to = "RunHiveScript"/>
        <action name="RunHiveScript">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
            <property>
                <name>mapred.job.queue.name</name>
                <value>${queueName}</value>
            </property>
            </configuration>
            <script>${hiveScript}</script>
            <param>hiveTableName=${hiveTableName}</param>
            <param>hiveDataFolder=${hiveDataFolder}</param>
        </hive>
        <ok to="RunSqoopExport"/>
        <error to="fail"/>
        </action>
        <action name="RunSqoopExport">
        <sqoop xmlns="uri:oozie:sqoop-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
            <property>
                <name>mapred.compress.map.output</name>
                <value>true</value>
            </property>
            </configuration>
            <arg>export</arg>
            <arg>--connect</arg>
            <arg>${sqlDatabaseConnectionString}</arg>
            <arg>--table</arg>
            <arg>${sqlDatabaseTableName}</arg>
            <arg>--export-dir</arg>
            <arg>${hiveDataFolder}</arg>
            <arg>-m</arg>
            <arg>1</arg>
            <arg>--input-fields-terminated-by</arg>
            <arg>"\t"</arg>
            <archive>mssql-jdbc-7.0.0.jre8.jar</archive>
            </sqoop>
        <ok to="end"/>
        <error to="fail"/>
        </action>
        <kill name="fail">
        <message>Job failed, error message[${wf:errorMessage(wf:lastErrorNode())}] </message>
        </kill>
        <end name="end"/>
    </workflow-app>
    

    Há duas ações definidas no fluxo de trabalho:

    • RunHiveScript: Esta ação é a ação inicial e executa o useooziewf.hql script Hive.

    • RunSqoopExport: Esta ação exporta os dados criados a partir do script Hive para um banco de dados SQL usando o Sqoop. Esta ação só é executada se for RunHiveScript bem-sucedida.

      O fluxo de trabalho tem várias entradas, como ${jobTracker}. Você substituirá essas entradas pelos valores usados na definição de trabalho. Você criará a definição de trabalho posteriormente neste documento.

      Observe também a <archive>mssql-jdbc-7.0.0.jre8.jar</archive> entrada na seção Sqoop. Esta entrada instrui o Oozie a disponibilizar este arquivo para o Sqoop quando esta ação for executada.

  3. Para guardar o ficheiro, selecione Ctrl+X, introduza Y e, em seguida, selecione Enter.

  4. Use o seguinte comando para copiar o workflow.xml arquivo para /tutorials/useoozie/workflow.xml:

    hdfs dfs -put workflow.xml /tutorials/useoozie/workflow.xml
    

Criar uma tabela

Nota

Há muitas maneiras de se conectar ao Banco de dados SQL para criar uma tabela. Os passos seguintes utilizam FreeTDS do cluster do HDInsight.

  1. Use o seguinte comando para instalar o FreeTDS no cluster HDInsight:

    sudo apt-get --assume-yes install freetds-dev freetds-bin
    
  2. Edite o código abaixo para substituir <serverName> pelo nome lógico do servidor SQL e <sqlLogin> pelo logon do servidor. Insira o comando para se conectar ao banco de dados SQL de pré-requisito. Digite a senha no prompt.

    TDSVER=8.0 tsql -H <serverName>.database.windows.net -U <sqlLogin> -p 1433 -D oozietest
    

    Você recebe a saída como o seguinte texto:

    locale is "en_US.UTF-8"
    locale charset is "UTF-8"
    using default charset "UTF-8"
    Default database being set to oozietest
    1>
    
  3. Na linha de comandos 1>, introduza as seguintes linhas:

    CREATE TABLE [dbo].[mobiledata](
    [deviceplatform] [nvarchar](50),
    [count] [bigint])
    GO
    CREATE CLUSTERED INDEX mobiledata_clustered_index on mobiledata(deviceplatform)
    GO
    

    Quando for introduza a declaração GO, as instruções anteriores são avaliadas. Essas instruções criam uma tabela, chamada mobiledata, que é usada pelo fluxo de trabalho.

    Para verificar se a tabela foi criada, use os seguintes comandos:

    SELECT * FROM information_schema.tables
    GO
    

    Você vê a saída como o seguinte texto:

    TABLE_CATALOG   TABLE_SCHEMA    TABLE_NAME      TABLE_TYPE
    oozietest       dbo             mobiledata      BASE TABLE
    
  4. Saia do utilitário tsql entrando exit no 1> prompt.

Criar a definição de tarefa

A definição de trabalho descreve onde encontrar o workflow.xml. Ele também descreve onde encontrar outros arquivos usados pelo fluxo de trabalho, como useooziewf.hql. Além disso, ele define os valores para as propriedades usadas no fluxo de trabalho e os arquivos associados.

  1. Para obter o endereço completo do armazenamento padrão, use o seguinte comando. Esse endereço é usado no arquivo de configuração criado na próxima etapa.

    sed -n '/<name>fs.default/,/<\/value>/p' /etc/hadoop/conf/core-site.xml
    

    Este comando retorna informações como o seguinte XML:

    <name>fs.defaultFS</name>
    <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net</value>
    

    Nota

    Se o cluster HDInsight usar o Armazenamento do Azure como o armazenamento padrão, o conteúdo do <value> elemento começará com wasbs://. Se o Azure Data Lake Storage Gen1 for usado, ele começará com adl://. Se o Azure Data Lake Storage Gen2 for usado, ele começará com abfs://.

    Salve o <value> conteúdo do elemento, como ele é usado nas próximas etapas.

  2. Edite o xml abaixo da seguinte maneira:

    Valor do espaço reservado Valor substituído
    wasbs://mycontainer@mystorageaccount.blob.core.windows.net Valor recebido da etapa 1.
    administração Seu nome de login para o cluster HDInsight, se não for admin.
    serverName Nome do servidor do Banco de Dados SQL do Azure.
    sqlLogin Logon do servidor do Banco de Dados SQL do Azure.
    sqlSenha Senha de logon do servidor do Banco de Dados SQL do Azure.
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    
        <property>
        <name>nameNode</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net</value>
        </property>
    
        <property>
        <name>jobTracker</name>
        <value>headnodehost:8050</value>
        </property>
    
        <property>
        <name>queueName</name>
        <value>default</value>
        </property>
    
        <property>
        <name>oozie.use.system.libpath</name>
        <value>true</value>
        </property>
    
        <property>
        <name>hiveScript</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie/useooziewf.hql</value>
        </property>
    
        <property>
        <name>hiveTableName</name>
        <value>mobilecount</value>
        </property>
    
        <property>
        <name>hiveDataFolder</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie/data</value>
        </property>
    
        <property>
        <name>sqlDatabaseConnectionString</name>
        <value>"jdbc:sqlserver://serverName.database.windows.net;user=sqlLogin;password=sqlPassword;database=oozietest"</value>
        </property>
    
        <property>
        <name>sqlDatabaseTableName</name>
        <value>mobiledata</value>
        </property>
    
        <property>
        <name>user.name</name>
        <value>admin</value>
        </property>
    
        <property>
        <name>oozie.wf.application.path</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie</value>
        </property>
    </configuration>
    

    A maioria das informações neste arquivo é usada para preencher os valores usados nos arquivos workflow.xml ou ooziewf.hql, como ${nameNode}. Se o caminho for um wasbs caminho, você deve usar o caminho completo. Não o encurte para apenas wasbs:///. A oozie.wf.application.path entrada define onde encontrar o arquivo workflow.xml. Este arquivo contém o fluxo de trabalho que foi executado por este trabalho.

  3. Para criar a configuração de definição de tarefa do Oozie, use o seguinte comando:

    nano job.xml
    
  4. Depois que o editor nano abrir, cole o XML editado como o conteúdo do arquivo.

  5. Para guardar o ficheiro, selecione Ctrl+X, introduza Y e, em seguida, selecione Enter.

Enviar e gerenciar o trabalho

As etapas a seguir usam o comando Oozie para enviar e gerenciar fluxos de trabalho do Oozie no cluster. O comando Oozie é uma interface amigável sobre a API REST do Oozie.

Importante

Ao usar o comando Oozie, você deve usar o FQDN para o nó principal do HDInsight. Este FQDN só é acessível a partir do cluster ou, se o cluster estiver numa rede virtual do Azure, a partir de outras máquinas na mesma rede.

  1. Para obter a URL para o serviço Oozie, use o seguinte comando:

    sed -n '/<name>oozie.base.url/,/<\/value>/p' /etc/oozie/conf/oozie-site.xml
    

    Isso retorna informações como o seguinte XML:

    <name>oozie.base.url</name>
    <value>http://ACTIVE-HEADNODE-NAME.UNIQUEID.cx.internal.cloudapp.net:11000/oozie</value>
    

    A http://ACTIVE-HEADNODE-NAME.UNIQUEID.cx.internal.cloudapp.net:11000/oozie parte é a URL a ser usada com o comando Oozie.

  2. Edite o código para substituir o URL pelo que você recebeu anteriormente. Para criar uma variável de ambiente para a URL, use o seguinte, para que você não precise inseri-la para todos os comandos:

    export OOZIE_URL=http://HOSTNAMEt:11000/oozie
    
  3. Para enviar o trabalho, use o seguinte código:

    oozie job -config job.xml -submit
    

    Este comando carrega as informações do trabalho e job.xml as envia para o Oozie, mas não as executa.

    Depois que o comando terminar, ele deve retornar a ID do trabalho, por exemplo, 0000005-150622124850154-oozie-oozi-W. Esse ID é usado para gerenciar o trabalho.

  4. Edite o código abaixo para substituir <JOBID> pelo ID retornado na etapa anterior. Para exibir o status do trabalho, use o seguinte comando:

    oozie job -info <JOBID>
    

    Isso retorna informações como o seguinte texto:

    Job ID : 0000005-150622124850154-oozie-oozi-W
    ------------------------------------------------------------------------------------------------------------------------------------
    Workflow Name : useooziewf
    App Path      : wasb:///tutorials/useoozie
    Status        : PREP
    Run           : 0
    User          : USERNAME
    Group         : -
    Created       : 2015-06-22 15:06 GMT
    Started       : -
    Last Modified : 2015-06-22 15:06 GMT
    Ended         : -
    CoordAction ID: -
    ------------------------------------------------------------------------------------------------------------------------------------
    

    Este trabalho tem um estatuto de PREP. Esse status indica que o trabalho foi criado, mas não iniciado.

  5. Edite o código abaixo para substituir <JOBID> pelo ID retornado anteriormente. Para iniciar o trabalho, use o seguinte comando:

    oozie job -start <JOBID>
    

    Se você verificar o status após esse comando, ele estará em um estado de execução e as informações serão retornadas para as ações dentro do trabalho. O trabalho levará alguns minutos para ser concluído.

  6. Edite o código abaixo para substituir <serverName> pelo nome do servidor e <sqlLogin> pelo login do servidor. Depois que a tarefa for concluída com êxito, você poderá verificar se os dados foram gerados e exportados para a tabela do banco de dados SQL usando o comando a seguir. Digite a senha no prompt.

    TDSVER=8.0 tsql -H <serverName>.database.windows.net -U <sqlLogin> -p 1433 -D oozietest
    

    1> No prompt, digite a seguinte consulta:

    SELECT * FROM mobiledata
    GO
    

    As informações retornadas são como o seguinte texto:

    deviceplatform  count
    Android 31591
    iPhone OS       22731
    proprietary development 3
    RIM OS  3464
    Unknown 213
    Windows Phone   1791
    (6 rows affected)
    

Para obter mais informações sobre o comando Oozie, consulte Ferramenta de linha de comando Apache Oozie.

Oozie REST API

Com a API REST do Oozie, você pode criar suas próprias ferramentas que funcionam com o Oozie. As seguintes informações específicas do HDInsight sobre o uso da API REST do Oozie:

  • URI: Você pode acessar a API REST de fora do cluster em https://CLUSTERNAME.azurehdinsight.net/oozie.

  • Autenticação: Para autenticar, use a API, a conta HTTP do cluster (admin) e a senha. Por exemplo:

    curl -u admin:PASSWORD https://CLUSTERNAME.azurehdinsight.net/oozie/versions
    

Para obter mais informações sobre como usar a API REST do Oozie, consulte Apache Oozie Web Services API.

Interface do usuário da web do Oozie

A interface do usuário da Web do Oozie fornece uma exibição baseada na Web sobre o status dos trabalhos do Oozie no cluster. Com a interface do usuário da Web, você pode exibir as seguintes informações:

  • Estado da tarefa
  • Definição da tarefa
  • Configuração
  • Um gráfico das ações no trabalho
  • Logs para o trabalho

Você também pode visualizar os detalhes das ações dentro de um trabalho.

Para acessar a interface do usuário da Web do Oozie, conclua as seguintes etapas:

  1. Crie um túnel SSH para o cluster HDInsight. Para obter mais informações, consulte Usar túnel SSH com o HDInsight.

  2. Depois de criar um túnel, abra a interface do usuário da Web do Ambari no navegador da Web usando o URI http://headnodehost:8080.

  3. No lado esquerdo da página, selecione Oozie>Quick Links>Oozie Web UI.

    Apache Ambari oozie web ui passos.

  4. O padrão da interface do usuário da Web do Oozie exibe como padrão os trabalhos de fluxo de trabalho em execução. Para ver todos os trabalhos de fluxo de trabalho, selecione Todos os trabalhos.

    Trabalhos de fluxo de trabalho do console da Web do Oozie.

  5. Para ver mais informações sobre um trabalho, selecione-o.

    Informações de trabalho do HDInsight Apache Oozie.

  6. Na guia Informações do trabalho , você pode ver as informações básicas do trabalho e as ações individuais dentro do trabalho. Você pode usar as guias na parte superior para exibir a Definição de Trabalho, Configuração de Trabalho, acessar o Log de Trabalho ou exibir um gráfico acíclico direcionado (DAG) do trabalho em DAG de Trabalho.

    • Log de trabalho: selecione o botão Obter logs para obter todos os logs para o trabalho ou use o Enter Search Filter campo para filtrar os logs.

      Log de tarefas do HDInsight Apache Oozie.

    • DAG de trabalho: o DAG é uma visão geral gráfica dos caminhos de dados percorridos pelo fluxo de trabalho.

      'HDInsight Apache Oozie job dag'.

  7. Se você selecionar uma das ações na guia Informações do trabalho, ela exibirá informações para a ação. Por exemplo, selecione a ação RunSqoopExport .

    Informações sobre a ação de trabalho do HDInsight oozie.

  8. Você pode ver detalhes da ação, como um link para a URL do console. Use este link para exibir as informações do rastreador de tarefas para o trabalho.

Agendar tarefas

Você pode usar o coordenador para especificar um início, um fim e a frequência de ocorrência para trabalhos. Para definir um cronograma para o fluxo de trabalho, conclua as seguintes etapas:

  1. Use o seguinte comando para criar um arquivo chamado coordinator.xml:

    nano coordinator.xml
    

    Use o seguinte XML como o conteúdo do arquivo:

    <coordinator-app name="my_coord_app" frequency="${coordFrequency}" start="${coordStart}" end="${coordEnd}" timezone="${coordTimezone}" xmlns="uri:oozie:coordinator:0.4">
        <action>
        <workflow>
            <app-path>${workflowPath}</app-path>
        </workflow>
        </action>
    </coordinator-app>
    

    Nota

    As ${...} variáveis são substituídas por valores na definição de trabalho em tempo de execução. As variáveis são:

    • ${coordFrequency}: O tempo entre a execução de instâncias do trabalho.
    • ${coordStart}: A hora de início do trabalho.
    • ${coordEnd}: A hora de término do trabalho.
    • ${coordTimezone}: Os trabalhos de coordenador estão em um fuso horário fixo sem horário de verão, normalmente representado usando UTC. Este fuso horário é conhecido como fuso horário de processamento do Oozie.
    • ${wfPath}: O caminho para a workflow.xml.
  2. Para guardar o ficheiro, selecione Ctrl+X, introduza Y e, em seguida, selecione Enter.

  3. Para copiar o arquivo para o diretório de trabalho para este trabalho, use o seguinte comando:

    hadoop fs -put coordinator.xml /tutorials/useoozie/coordinator.xml
    
  4. Para modificar o job.xml arquivo criado anteriormente, use o seguinte comando:

    nano job.xml
    

    Efetue as seguintes alterações:

    • Para instruir o Oozie a executar o arquivo coordenador em vez do fluxo de trabalho, altere <name>oozie.wf.application.path</name> para <name>oozie.coord.application.path</name>.

    • Para definir a workflowPath variável usada pelo coordenador, adicione o seguinte XML:

      <property>
          <name>workflowPath</name>
          <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie</value>
      </property>
      

      Substitua o wasbs://mycontainer@mystorageaccount.blob.core.windows texto pelo valor usado nas outras entradas no arquivo job.xml.

    • Para definir o início, o fim e a frequência do coordenador, adicione o seguinte XML:

      <property>
          <name>coordStart</name>
          <value>2018-05-10T12:00Z</value>
      </property>
      
      <property>
          <name>coordEnd</name>
          <value>2018-05-12T12:00Z</value>
      </property>
      
      <property>
          <name>coordFrequency</name>
          <value>1440</value>
      </property>
      
      <property>
          <name>coordTimezone</name>
          <value>UTC</value>
      </property>
      

      Esses valores definem a hora de início para 12h00 de 10 de maio de 2018 e a hora de término para 12 de maio de 2018. O intervalo para executar este trabalho é definido como diário. A frequência é em minutos, portanto 24 horas x 60 minutos = 1440 minutos. Finalmente, o fuso horário é definido como UTC.

  5. Para guardar o ficheiro, selecione Ctrl+X, introduza Y e, em seguida, selecione Enter.

  6. Para enviar e iniciar o trabalho, use o seguinte comando:

    oozie job -config job.xml -run
    
  7. Se você acessar a interface do usuário da Web do Oozie e selecionar a guia Trabalhos de coordenador , verá informações como na imagem a seguir:

    Guia de trabalhos do coordenador do console da Web do Oozie.

    A entrada Próxima Materialização contém a próxima vez que o trabalho for executado.

  8. Como o trabalho de fluxo de trabalho anterior, se você selecionar a entrada de trabalho na interface do usuário da Web, ela exibirá informações sobre o trabalho:

    Informações de trabalho do coordenador do Apache Oozie.

    Nota

    Esta imagem mostra apenas as execuções bem-sucedidas do trabalho, não as ações individuais dentro do fluxo de trabalho agendado. Para ver as ações individuais, selecione uma das entradas Ação .

    Guia Informações do trabalho do console da Web OOzie.

Próximos passos

Neste artigo, você aprendeu como definir um fluxo de trabalho do Oozie e como executar um trabalho do Oozie. Para saber mais sobre como trabalhar com o HDInsight, consulte os seguintes artigos: