Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Usługa Azure Data Lake Analytics została wycofana 29 lutego 2024 r. Dowiedz się więcej z tym ogłoszeniem.
Na potrzeby analizy danych organizacja może używać usługi Azure Synapse Analytics lub Microsoft Fabric.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że rozszerzenia języka Python są zainstalowane na koncie usługi Azure Data Lake Analytics.
- Przejdź do konta usługi Data Lake Analytics w witrynie Azure Portal
- W menu po lewej stronie w obszarze WPROWADZENIE wybierz pozycję Przykładowe skrypty
- Wybierz pozycję Zainstaluj rozszerzenia U-SQL , a następnie przycisk OK
Przegląd
Rozszerzenia języka Python dla języka U-SQL umożliwiają deweloperom wykonywanie masowego równoległego wykonywania kodu w języku Python. Poniższy przykład ilustruje podstawowe kroki:
- Użyj instrukcji
REFERENCE ASSEMBLY, aby włączyć rozszerzenia języka Python dla skryptu U-SQL - Używanie operacji
REDUCEdo podziału danych wejściowych według klucza - Rozszerzenia języka Python dla języka U-SQL obejmują wbudowany reduktor (
Extension.Python.Reducer), który uruchamia kod języka Python na każdym wierzchołku przypisanym do reduktora - Skrypt U-SQL zawiera osadzony kod języka Python, który ma funkcję o nazwie
usqlml_main, która akceptuje ramkę danych biblioteki pandas jako dane wejściowe i zwraca ramkę danych biblioteki pandas jako dane wyjściowe.
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();
Jak język Python integruje się z językiem U-SQL
Typy danych
- Kolumny ciągowe i liczbowe z języka U-SQL są konwertowane bez zmian między Pandas a U-SQL.
- Wartości null U-SQL są konwertowane na wartości i z wartości biblioteki Pandas
NA
Schematów
- Wektory indeksów w bibliotece Pandas nie są obsługiwane w języku U-SQL. Wszystkie ramki danych wejściowych w funkcji języka Python zawsze mają 64-bitowy indeks liczbowy z zakresu od 0 do liczby wierszy minus 1.
- Zestawy danych U-SQL nie mogą mieć zduplikowanych nazw kolumn
- Nazwy kolumn zestawów danych U-SQL, które nie są ciągami znaków.
Wersje języka Python
Obsługiwany jest tylko język Python 3.5.1 (skompilowany dla systemu Windows).
Standardowe moduły języka Python
Wszystkie standardowe moduły języka Python są dołączone.
Więcej modułów języka Python
Oprócz standardowych bibliotek języka Python dostępnych jest kilka powszechnie używanych bibliotek języka Python:
- Pandas
- numpy
- numexpr
Komunikaty o wyjątkach
Obecnie wyjątek w kodzie Pythona jest wyświetlany jako ogólny błąd wierzchołka. W przyszłości komunikaty o błędach zadania U-SQL będą wyświetlać komunikat o wyjątku języka Python.
Ograniczenia rozmiaru danych wejściowych i wyjściowych
Każdy wierzchołek ma przypisaną ograniczoną ilość pamięci. Obecnie ten limit wynosi 6 GB dla AU (jednostki organizacyjnej). Ponieważ ramki danych wejściowych i wyjściowych muszą istnieć w pamięci w kodzie języka Python, całkowity rozmiar danych wejściowych i wyjściowych nie może przekraczać 6 GB.