Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
O Azure Data Lake Analytics foi desativado em 29 de fevereiro de 2024. Saiba mais com este anúncio.
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 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, em seguida, OK
Visão geral
As extensões Python para U-SQL permitem que os desenvolvedores executem massivamente a execução paralela de código Python. O exemplo a seguir ilustra as etapas básicas:
- Use a
REFERENCE ASSEMBLYinstrução para habilitar extensões Python para o script U-SQL - Usando a
REDUCEoperação para particionar os dados de entrada em uma chave - As extensões 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 incorporado que tem uma função chamada
usqlml_mainque aceita um pandas DataFrame como entrada e retorna um pandas DataFrame 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
- String e colunas numéricas do U-SQL são convertidas as-is entre Pandas e U-SQL
- Nulos U-SQL são convertidos de e para valores Pandas
NA
Esquemas
- Os vetores de índice no Pandas não são suportados 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 colunas duplicados
- Conjuntos de dados U-SQL nomes de coluna que não são cadeias de caracteres.
Versões Python
Apenas Python 3.5.1 (compilado para Windows) é suportado.
Módulos Python padrão
Todos os módulos Python padrão estão incluídos.
Mais módulos Python
Além das bibliotecas Python padrão, 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érico. No futuro, as mensagens de erro do trabalho U-SQL exibirão 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 saída não pode exceder 6 GB.