Szemantikai függvények
Ez a cikk a szemantikai függvényeket ismerteti, és azt ismerteti, hogyan segíthetnek az adattudósok és az adatmérnökök a FabricDataFrame-hez vagy a FabricSerieshez kapcsolódó függvények felderítésében. A szemantikai függvények a Microsoft Fabric szemantikai hivatkozás funkciójának részét képezik.
A Spark 3.4-hez és újabb verziókhoz a szemantikai kapcsolat magcsomagja az alapértelmezett Fabric-futtatókörnyezetben érhető el, de a szemantikai függvénylogikát (például is_holiday
) tartalmazó szemantikai-csatolási függvénycsomagot manuálisan kell telepíteni. A Python szemantikai hivatkozástárának (SemPy) legújabb verziójára való frissítéshez futtassa a következő parancsot:
%pip install -U semantic-link
A FabricDataFrame dinamikusan teszi elérhetővé a szemantikai függvényeket az egyes függvények által definiált logika alapján.
A függvény például akkor jelenik meg az automatikus kiegészítési javaslatokban, is_holiday
ha olyan FabricDataFrame-et használ, amely dátum-idő oszlopot és országoszlopot is tartalmaz.
Minden szemantikai függvény a FabricDataFrame-ben vagy a FabricSeriesben található adatokra, adattípusokra és metaadatokra (például a Power BI adatkategóriáira) vonatkozó információkat használja annak meghatározásához, hogy mennyire relevánsak az éppen használt adatok.
A szemantikai függvényeket a rendszer automatikusan felderíti, amikor a @semantic_function
dekoratőrrel jegyzetel.
A szemantikai függvények a DataFrame-koncepcióra alkalmazott C#-bővítménymetszetekhez hasonlónak tekinthetők.
Szemantikai függvények automatikus kiegészítési javaslatai
A szemantikai függvények az automatikus kiegészítési javaslatokban érhetők el a FabricDataFrame vagy a FabricSeries használatakor. Az automatikus kiegészítés aktiválásához használja a Ctrl+Szóköz billentyűkombinációt.
Az alábbi példakód manuálisan adja meg a FabricDataFrame metaadatait:
from sempy.fabric import FabricDataFrame
df = FabricDataFrame(
{"country": ["US", "AT"],
"lat": [40.7128, 47.8095],
"long": [-74.0060, 13.0550]},
column_metadata={"lat": {"data_category": "Latitude"}, "long": {"data_category": "Longitude"}},
)
# Convert to GeoPandas dataframe
df_geo = df.to_geopandas(lat_col="lat", long_col="long")
# Use the explore function to visualize the data
df_geo.explore()
Másik lehetőségként, ha szemantikai modellből olvas egy FabricDataFrame-be, a metaadatok automatikusan fel lesznek töltve.
from sempy.fabric import FabricDataFrame
# Read from semantic model
import sempy.fabric as fabric
df = fabric.read_table("my_dataset_name", "my_countries")
# Convert to GeoPandas dataframe
df_geo = df.to_geopandas(lat_col="lat", long_col="long")
# Use the explore function to visualize the data
df_geo.explore()
Beépített szemantikai függvények
A SemPy Python-kódtár beépített szemantikai függvények készletét biztosítja, amelyek a dobozon kívül érhetők el. Ezek a beépített függvények a következők:
is_holiday(...)
Az ünnepek Python-csomag használatával tér visszatrue
, ha a dátum az adott országban ünnepnap.to_geopandas(...)
A FabricDataFrame-et GeoPandas GeoDataFrame-gé alakítja át.parse_phonenumber(...)
A Telefonszámok Python-csomag használatával elemzi a telefonszámokat az összetevőiben.validators
A validators Python-csomag használatával ellenőrzi az olyan gyakori adattípusokat, mint az e-mail- és hitelkártya-számok.
Egyéni szemantikai függvények
A szemantikai függvények bővíthetőségre vannak tervezve. Saját szemantikai függvényeket definiálhat a jegyzetfüzetben, vagy különálló Python-modulokként.
Ha jegyzetfüzeten kívüli szemantikai függvényt szeretne használni, deklarálja a szemantikai függvényt a modulon sempy.functions
belül. Az alábbi példakód egy szemantikai függvény _is_capital
definícióját mutatja be, amely akkor ad vissza true
, ha egy város egy ország fővárosa.
from sempy.fabric import FabricDataFrame, FabricSeries
from sempy.fabric.matcher import CountryMatcher, CityMatcher
from sempy.functions import semantic_function, semantic_parameters
@semantic_function("is_capital")
@semantic_parameters(col_country=CountryMatcher, col_city=CityMatcher)
def _is_capital(df: FabricDataFrame, col_country: str, col_city: str) -> FabricSeries:
"""Returns true if the city is the capital of the country"""
capitals = {
"US": ["Washington"],
"AT": ["Vienna"],
# ...
}
return df[[col_country, col_city]] \
.apply(lambda row: row[1] in capitals[row[0]], axis=1)
Az előző példakódban:
- A
col_country
paramétereket éscol_city
a paramétereket a rendszer széljegyzetekkel,CityMatcher
illetve azokkal fűziCountryMatcher
hozzá. Ez a megjegyzés lehetővé teszi a szemantikai függvény automatikus felderítését a megfelelő metaadatokat tartalmazó FabricDataFrame használatakor. - A függvény meghívása olyan szabványos adattípusokat is biztosít, mint a
str
,int
,float
ésdatetime
a szükséges bemeneti oszlopok definiálása. - Az első paraméter
df
típusjegyzete azt mutatja, hogy a függvény a FabricDataFrame-ekre alkalmazható a FabricSeries helyett.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: