Transformar dados ao executar uma atividade python no Azure Databricks
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde o movimento de dados à ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
A Atividade Python do Azure Databricks num pipeline executa um ficheiro Python no cluster do Azure Databricks. Este artigo baseia-se no artigo de atividades de transformação de dados , que apresenta uma descrição geral da transformação de dados e das atividades de transformação suportadas. O 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 o Azure Databricks a um pipeline com a IU
Para utilizar uma atividade Python para o Azure Databricks num pipeline, conclua os seguintes passos:
Procure Python no painel Atividades do pipeline e arraste uma atividade Python para a tela do pipeline.
Selecione a nova atividade python na tela, se ainda não estiver selecionada.
Selecione o separador Azure Databricks para selecionar ou criar um novo serviço ligado do Azure Databricks que irá executar a atividade python.
Selecione o separador Definições e especifique o caminho no Azure Databricks para um ficheiro Python a ser executado, parâmetros opcionais a serem transmitidos e quaisquer bibliotecas adicionais a serem instaladas no cluster para executar a tarefa.
Definição de atividade python do Databricks
Eis a definição JSON de exemplo 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"
}
}
]
}
}
}
Propriedades da atividade python do Databricks
A tabela seguinte descreve as propriedades JSON utilizadas na definição JSON:
Propriedade | Descrição | Necessário |
---|---|---|
name | Nome da atividade no pipeline. | Sim |
descrição | Texto que descreve o que a atividade faz. | No |
tipo | Para a Atividade Python do Databricks, o tipo de atividade é DatabricksSparkPython. | Sim |
linkedServiceName | Nome do Serviço Ligado do Databricks no qual a atividade python é executada. Para saber mais sobre este serviço ligado, veja o artigo Serviços ligados de computação . | Sim |
pythonFile | O URI do ficheiro Python a ser executado. Apenas os caminhos do DBFS são suportados. | Sim |
parâmetros | Parâmetros da linha de comandos que serão transmitidos para o ficheiro Python. Esta é uma matriz de cadeias. | Não |
bibliotecas | Uma lista de bibliotecas a instalar no cluster que irá executar a tarefa. Pode ser uma matriz de <cadeia, objeto> | No |
Bibliotecas suportadas para atividades do Databricks
Na definição de atividade do Databricks acima, especifique estes tipos de biblioteca: jar, ovo, 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 , veja a documentação do Databricks para tipos de biblioteca.
Como carregar uma biblioteca no Databricks
Pode utilizar a IU da Área de Trabalho:
Para obter o caminho dbfs da biblioteca adicionada com a IU, pode utilizar a CLI do Databricks.
Normalmente, as bibliotecas Jar são armazenadas em dbfs:/FileStore/jars ao utilizar a IU. Pode listar tudo através da CLI: databricks fs ls dbfs:/FileStore/job-jars
Em alternativa, pode utilizar a CLI do Databricks:
Utilizar a CLI do Databricks (passos de instalação)
Por exemplo, para copiar um JAR para dbfs:
dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar