Agendar tarefas U-SQL com SQL Server Integration Services (SSIS)

Neste documento, vai aprender a orquestrar e criar tarefas U-SQL com o SQL Server Integration Service (SSIS).

Importante

O Azure Data Lake Analytics descontinuado a 29 de fevereiro de 2024. Saiba mais com este anúncio.

Para análise de dados, a sua organização pode utilizar o Azure Synapse Analytics ou o Microsoft Fabric.

Pré-requisitos

O Azure Feature Pack for Integration Services fornece a tarefa do Azure Data Lake Analytics e a Data Lake Analytics Gestor de Ligações do Azure que ajuda a ligar ao serviço Data Lake Analytics do Azure. Para utilizar esta tarefa, certifique-se de que instala:

Tarefa de Data Lake Analytics do Azure

A tarefa Data Lake Analytics do Azure permite que os utilizadores submetam tarefas U-SQL para a conta Data Lake Analytics do Azure.

Saiba como configurar a tarefa Data Lake Analytics do Azure.

Tarefa de Data Lake Analytics do Azure no SSIS

Pode obter o script U-SQL de diferentes locais através de funções e tarefas incorporadas do SSIS, os cenários abaixo mostram como pode configurar os scripts U-SQL para diferentes casos de utilizador.

Cenário 1- Utilizar tvfs de chamadas de script inline e procs armazenados

No Azure Data Lake Analytics Task Revisor, configure SourceType como DirectInput e coloque as instruções U-SQL em USQLStatement.

Para facilitar a manutenção e a gestão de códigos, coloque apenas um script U-SQL curto como scripts inline, por exemplo, pode chamar funções com valores de tabela existentes e procedimentos armazenados nas suas bases de dados U-SQL.

Editar script U-SQL inline na tarefa do SSIS

Artigo relacionado: Como transmitir o parâmetro para procedimentos armazenados

Cenário 2- Utilizar ficheiros U-SQL no Azure Data Lake Store

Também pode utilizar ficheiros U-SQL no Azure Data Lake Store com a Tarefa do Sistema de Ficheiros do Azure Data Lake Store no Azure Feature Pack. Esta abordagem permite-lhe utilizar os scripts armazenados na cloud.

Siga os passos abaixo para configurar a ligação entre a Tarefa do Sistema de Ficheiros do Azure Data Lake Store e a Tarefa de Data Lake Analytics do Azure.

Definir fluxo de controlo de tarefas

Na vista de estrutura do pacote SSIS, adicione uma Tarefa do Sistema de Ficheiros do Azure Data Lake Store, um Contentor foreach Loop e uma Tarefa de Data Lake Analytics do Azure no Contentor foreach Loop. A Tarefa do Sistema de Ficheiros do Azure Data Lake Store ajuda a transferir ficheiros U-SQL na sua conta do ADLS para uma pasta temporária. O Contentor foreach Loop e a Tarefa de Data Lake Analytics do Azure ajudam a submeter todos os ficheiros U-SQL na pasta temporária para a conta Data Lake Analytics do Azure como uma tarefa U-SQL.

Diagrama que mostra uma Tarefa do Sistema de Ficheiros do Azure Data Lake Store a ser adicionada a um Contentor foreach Loop.

Configurar a Tarefa do Sistema de Ficheiros do Azure Data Lake Store

  1. Defina a Operação como CopyFromADLS.
  2. Configure o AzureDataLakeConnection, saiba mais sobre o Azure Data Lake Store Gestor de Ligações.
  3. Defina AzureDataLakeDirectory. Aponte para a pasta que armazena os scripts U-SQL. Utilize o caminho relativo relativo à pasta raiz da conta do Azure Data Lake Store.
  4. Defina Destino para uma pasta que coloca em cache os scripts U-SQL transferidos. Este caminho de pasta será utilizado no Contentor foreach Loop para submissão de tarefas U-SQL.

Configurar a Tarefa do Sistema de Ficheiros do Azure Data Lake Store

Saiba mais sobre a Tarefa do Sistema de Ficheiros do Azure Data Lake Store.

Configurar o Contentor de Ciclo foreach

  1. Na página Coleção , defina Enumerador como Enumerador de Ficheiros Foreach.

  2. Defina Pasta em Grupo de configuração do Enumerador para a pasta temporária que inclui os scripts U-SQL transferidos.

  3. Defina Ficheiros na configuração do Enumerador para *.usql que o contentor de ciclos apenas detete os ficheiros que terminam com .usql.

    Captura de ecrã que mostra a Revisor Foreach Loop com

  4. Na página Mapeamentos Variáveis , adicione uma variável definida pelo utilizador para obter o nome de ficheiro para cada ficheiro U-SQL. Defina o Índice como 0 para obter o nome do ficheiro. Neste exemplo, defina uma variável chamada User::FileName. Esta variável será utilizada para obter dinamicamente a ligação de ficheiro de script U-SQL e definir o nome da tarefa U-SQL no Azure Data Lake Analytics Task.

    Configurar o Contentor de Ciclo foreach para obter o nome do ficheiro

Configurar a Tarefa de Data Lake Analytics do Azure

  1. Defina SourceType como FileConnection.

  2. Defina FileConnection para a ligação de ficheiro que aponta para os objetos de ficheiro devolvidos a partir do Contentor foreach Loop.

    Para criar esta ligação de ficheiro:

    1. Selecione <Nova Ligação...> na definição FileConnection.

    2. Defina o Tipo de utilização como Ficheiro existente e defina o Ficheiro como o caminho de ficheiro de qualquer ficheiro existente.

      Captura de ecrã que mostra o ficheiro Gestor de Ligações Revisor com

    3. Na vista Gestores de Ligações , clique com o botão direito do rato na ligação de ficheiro criada e selecione Propriedades.

    4. Na janela Propriedades , expanda Expressões e defina ConnectionString para a variável definida no Contentor de Ciclo foreach, por exemplo, @[User::FileName].

      Configurar o Contentor de Ciclo foreach

  3. Defina AzureDataLakeAnalyticsConnection para a conta do Azure Data Lake Analytics para a qual pretende submeter tarefas. Saiba mais sobre o Azure Data Lake Analytics Gestor de Ligações.

  4. Defina outras configurações de tarefas. Saiba Mais.

  5. Utilize Expressões para definir dinamicamente o nome da tarefa U-SQL:

    1. Na página Expressões , adicione um novo par chave-valor de expressão para JobName.

    2. Defina o valor de JobName para a variável definida no Contentor de Ciclo foreach, por exemplo, @[User::FileName].

      Configurar a Expressão SSIS para o nome da tarefa U-SQL

Cenário 3 Utilizar ficheiros U-SQL no Armazenamento de Blobs do Azure

Pode utilizar ficheiros U-SQL no Armazenamento de Blobs do Azure com a Tarefa de Transferência de Blobs do Azure no Azure Feature Pack. Esta abordagem permite-lhe utilizar os scripts na cloud.

Os passos são semelhantes ao Cenário 2: Utilizar ficheiros U-SQL no Azure Data Lake Store. Altere a Tarefa do Sistema de Ficheiros do Azure Data Lake Store para a Tarefa de Transferência de Blobs do Azure. Saiba mais sobre a Tarefa de Transferência de Blobs do Azure.

O fluxo de controlo é o seguinte:

Utilizar ficheiros U-SQL no Azure Data Lake Store

Cenário 4 Utilizar ficheiros U-SQL no computador local

Além de utilizar ficheiros U-SQL armazenados na cloud, também pode utilizar ficheiros no seu computador local ou ficheiros implementados com os seus pacotes SSIS.

  1. Clique com o botão direito do rato em Gestores de Ligações no projeto SSIS e selecione Novo Gestor de Ligações.

  2. Selecione Tipo de ficheiro e selecione Adicionar....

  3. Defina o Tipo de utilização como Ficheiro existente e defina o Ficheiro para o ficheiro no computador local.

    Adicionar ligação de ficheiro ao ficheiro local

  4. Adicione a Tarefa Data Lake Analytics do Azure e:

    1. Defina SourceType como FileConnection.
    2. Defina FileConnection como a Ligação de Ficheiro criada.
  5. Conclua outras configurações para a Tarefa de Data Lake Analytics do Azure.

Cenário 5- Utilizar instrução U-SQL na variável SSIS

Em alguns casos, poderá ter de gerar dinamicamente as instruções U-SQL. Pode utilizar a Variável SSIS com a Expressão SSIS e outras tarefas do SSIS, como a Tarefa de Script, para o ajudar a gerar dinamicamente a instrução U-SQL.

  1. Abra a janela da ferramenta Variáveis através do menu de nível superior variáveis do SSIS>.

  2. Adicione uma Variável SSIS e defina o valor diretamente ou utilize Expressão para gerar o valor.

  3. Adicione a Tarefa Data Lake Analytics do Azure e:

    1. Defina SourceType como Variável.
    2. Defina SourceVariable como a Variável SSIS criada agora.
  4. Conclua outras configurações para a Tarefa de Data Lake Analytics do Azure.

Cenário 6- Transmitir parâmetros para o script U-SQL

Em alguns casos, poderá querer definir dinamicamente o valor da variável U-SQL no script U-SQL. A funcionalidade Mapeamento de Parâmetros no Azure Data Lake Analytics Task ajuda neste cenário. Normalmente, existem dois casos de utilizador típicos:

  • Defina as variáveis de caminho do ficheiro de entrada e saída dinamicamente com base na data e hora atuais.
  • Defina o parâmetro para procedimentos armazenados.

Saiba mais sobre como definir parâmetros para o script U-SQL.

Passos seguintes