Partilhar via


Transformar dados executando uma atividade em Python no Azure Databricks

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

O Azure Databricks Python Activity numa pipeline executa um ficheiro Python no seu cluster Azure Databricks. Este artigo baseia-se no artigo de atividades de transformação de dados, que apresenta uma visão geral da transformação de dados e das atividades de transformação suportadas. Azure Databricks é uma plataforma gerida para executar o Apache Spark.

Para uma introdução e demonstração de onze minutos desta funcionalidade, veja o seguinte vídeo:

Adicionar uma atividade Python para Azure Databricks a um pipeline com UI

Para usar uma atividade Python para Azure Databricks num pipeline, complete os seguintes passos:

  1. Procure por Python no painel de Atividades do pipeline e arraste uma atividade Python para o canvas do pipeline.

  2. Selecione a nova atividade Python na tela se ainda não estiver selecionada.

  3. Selecione o separador Azure Databricks para selecionar ou criar um novo serviço Azure Databricks ligado que execute a atividade Python.

    Mostra a interface de uma atividade Python.

  4. Selecione o separador Settings e especifique o caminho dentro de Azure Databricks para um ficheiro Python a executar, parâmetros opcionais a passar e quaisquer bibliotecas adicionais a instalar no cluster para executar o trabalho.

    Mostra a interface do separador Definições para uma atividade Python.

Definição de atividade em Python em Databricks

Aqui está a definição de exemplo em JSON de uma atividade Python do Databricks:

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksSparkPython",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedService",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "pythonFile": "dbfs:/docs/pi.py",
            "parameters": [
                "10"
            ],
            "libraries": [
                {
                    "pypi": {
                        "package": "tensorflow"
                    }
                }
            ]
        }
    }
}

Databricks Propriedades de atividade em Python

A tabela a seguir descreve as propriedades JSON usadas na definição JSON:

Propriedade Descrição Obrigatório
nome Nome da atividade no fluxo de trabalho. Sim
descrição Texto que descreve o que a atividade realiza. Não
tipo Para o Databricks Python Activity, o tipo de atividade é DatabricksSparkPython. Sim
linkedServiceName Nome do Serviço Ligado Databricks onde a atividade Python é executada. Para saber mais sobre esse serviço vinculado, consulte o artigo Serviços vinculados de computação. Sim
ficheiro Python O URI do ficheiro Python a ser executado. Somente caminhos DBFS são suportados. Sim
parâmetros Parâmetros da linha de comandos que serão passados para o ficheiro Python. Esta é uma matriz de cadeias de caracteres. Não
bibliotecas Uma lista de bibliotecas a serem instaladas no cluster que executará o trabalho. Pode ser uma matriz de <string, objeto> Não

Bibliotecas suportadas para atividades de databricks

Na definição de atividade do Databricks acima, você especifica estes tipos de biblioteca: jar, egg, maven, pypi, cran.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

Para obter mais detalhes, consulte a documentação do Databricks para tipos de biblioteca.

Como carregar uma biblioteca no Databricks

Você pode usar a Interface de Espaço de Trabalho:

  1. Usar a interface do espaço de trabalho Databricks

  2. Para obter o caminho dbfs da biblioteca adicionada usando a interface do usuário, você pode usar a CLI do Databricks.

    Normalmente, as bibliotecas Jar são armazenadas em dbfs:/FileStore/jars ao usar a interface do usuário. Você pode listar tudo através da CLI: databricks fs ls dbfs:/FileStore/job-jars

Ou você pode usar a CLI do Databricks:

  1. Seguir Copiar a biblioteca usando a CLI do Databricks

  2. Usar a CLI do Databricks (etapas de instalação)

    Como exemplo, para copiar um JAR para dbfs: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar