Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O Azure Data Lake Analytics se aposentou em 29 de fevereiro de 2024. Saiba mais com este comunicado.
Para análise de dados, sua organização pode usar o Azure Synapse Analytics ou o Microsoft Fabric.
Pré-requisitos
Antes de começar, verifique se as extensões do Python estão instaladas em sua conta do Azure Data Lake Analytics.
- Navegue até sua conta do Data Lake Analytics no portal do Azure
- No menu à esquerda, em INTRODUÇÃO , selecione Scripts de Exemplo
- Selecione Instalar Extensões U-SQL e depois OK
Visão geral
As Extensões do Python para U-SQL permitem que os desenvolvedores executem uma execução massivamente paralela do código Python. O exemplo a seguir ilustra as etapas básicas:
- Usar a
REFERENCE ASSEMBLYinstrução para habilitar extensões do Python para o Script U-SQL - Usando a
REDUCEoperação para particionar os dados de entrada em uma chave - As extensões do Python para U-SQL incluem um redutor interno (
Extension.Python.Reducer) que executa o código Python em cada vértice atribuído ao redutor - O script U-SQL contém o código Python inserido que tem uma função chamada
usqlml_mainque aceita um DataFrame pandas como entrada e retorna um DataFrame pandas como saída.
REFERENCE ASSEMBLY [ExtPython];
DECLARE @myScript = @"
def get_mentions(tweet):
return ';'.join( ( w[1:] for w in tweet.split() if w[0]=='@' ) )
def usqlml_main(df):
del df['time']
del df['author']
df['mentions'] = df.tweet.apply(get_mentions)
del df['tweet']
return df
";
@t =
SELECT * FROM
(VALUES
("D1","T1","A1","@foo Hello World @bar"),
("D2","T2","A2","@baz Hello World @beer")
) AS date, time, author, tweet );
@m =
REDUCE @t ON date
PRODUCE date string, mentions string
USING new Extension.Python.Reducer(pyScript:@myScript);
OUTPUT @m
TO "/tweetmentions.csv"
USING Outputters.Csv();
Como o Python se integra ao U-SQL
Tipos de dados
- As colunas de cadeia de caracteres e numéricas do U-SQL são convertidas tal como estão entre Pandas e U-SQL.
- Os nulos U-SQL são convertidos de e para valores do Pandas
NA
Esquemas
- Não há suporte para vetores de índice no Pandas no U-SQL. Todos os quadros de dados de entrada na função Python sempre têm um índice numérico de 64 bits de 0 até o número de linhas menos 1.
- Os conjuntos de dados U-SQL não podem ter nomes de coluna duplicados
- Nomes de colunas de conjuntos de dados U-SQL que não são cadeias de caracteres.
Versões do Python
Há suporte apenas para Python 3.5.1 (compilado para Windows).
Módulos padrão do Python
Todos os módulos padrão do Python estão incluídos.
Mais módulos do Python
Além das bibliotecas padrão do Python, várias bibliotecas python comumente usadas estão incluídas:
- Pandas
- numpy
- numexpr
Mensagens de Exceção
Atualmente, uma exceção no código Python aparece como falha de vértice genérica. No futuro, as mensagens de erro do Job U-SQL irão exibir a mensagem de exceção do Python.
Limitações de tamanho de entrada e saída
Cada vértice tem uma quantidade limitada de memória atribuída a ele. Atualmente, esse limite é de 6 GB para uma UA. Como os DataFrames de entrada e saída devem existir na memória no código Python, o tamanho total da entrada e da saída não pode exceder 6 GB.