Muistiinpano
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoja.
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoja.
Tässä artikkelissa kuvataan semanttisia funktioita ja sitä, miten ne voivat auttaa tietojenkäsittelyasiantuntijat ja tietoteknikot löytämään funktioita, jotka liittyvät heidän työstämäänsä FabricDataFrameen tai FabricSeriesiin. Semanttiset funktiot ovat osa Microsoft Fabricin semanttisen linkin ominaisuutta.
Spark 3.4:ssä ja tätä uudemmat versioissa semanttisen linkin ydinpaketti on saatavilla oletusarvoisessa Fabric-suorituspalvelussa, mutta semanttisen linkin funktiot-funktiopaketti, joka sisältää semanttisen funktion logiikan (kuten is_holiday), on asennettava manuaalisesti. Päivitä Pythonin semanttinen linkki (SemPy) -kirjaston uusimpaan versioon suorittamalla seuraava komento:
%pip install -U semantic-link
FabricDataFrame paljastaa dynaamisesti semanttisia funktioita kunkin funktion määrittämän logiikan perusteella.
Esimerkiksi funktio näkyy automaattisen täydennyksen is_holiday ehdotuksissa, kun käsittelet FabricDataFrame-kehystä, joka sisältää sekä datetime-sarakkeen että maasarakkeen.
Kukin semanttinen funktio käyttää FabricDataFrame- tai FabricSeries-kehyksissä tietoja tiedoista, tietotyypeistä ja metatiedoista (kuten Power BI -tietoluokista) niiden merkityksen määrittämiseksi, mitä käsittelet.
Semanttiset funktiot löydetään automaattisesti, kun niihin lisätään merkintä decoratorilla @semantic_function .
Semanttiset funktiot ovat ikään kuin DataFrame-käsitteessä käytettyjä C#-laajennusmenetelmiä .
Semanttiset funktiot voivat täydentää ehdotuksia automaattisesti
Semanttiset funktiot ovat käytettävissä automaattisen täydennysehdotuksen kanssa, kun käytät FabricDataFrame- tai FabricSeries-kehyksiä. Käynnistä automaattinen täydennys painamalla Ctrl+välilyönti.
Seuraava koodiesimerkki määrittää manuaalisesti FabricDataFrame-kehyksen metatiedot:
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()
Vaihtoehtoisesti jos luet semanttisesta mallista FabricDataFrame-kehykseen, metatiedot täytetään automaattisesti.
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()
Sisäiset semanttiset funktiot
SemPy Python -kirjasto sisältää joukon valmiita semanttisia funktioita, jotka ovat käytettävissä valmiina. Näitä sisäisiä funktioita ovat muun muassa seuraavat:
-
is_holiday(...)käyttää lomia Python-pakettia palatakseen,truejos päivämäärä on juhlapäivä tietyssä maassa tai tietyllä alueella. -
to_geopandas(...)muuntaa FabricDataFrame-kehyksen GeoPandas GeoDataFrame -kehykseksi. -
parse_phonenumber(...)käyttää puhelinnumeroita Python-pakettia puhelinnumeron jäsentämiseksi sen komponentteihin. -
validatorskäyttää vahvistajien Python-pakettia yhteisten tietotyyppien, kuten sähköpostin ja luottokorttien numeroiden, vahvistamiseen.
Mukautetut semanttiset funktiot
Semanttiset funktiot on suunniteltu laajennettavuutta varten. Voit määrittää omia semanttisia funktioita muistikirjassasi tai erillisinä Python-moduuleina.
Jos haluat käyttää semanttista toimintoa muistikirjan ulkopuolella, määritä semanttinen funktio moduulissa sempy.functions . Seuraava koodiesimerkki näyttää semanttisen funktion määrityksen, joka palauttaa arvon _is_capitaltrue , jos kaupunki on maan/alueen pääkaupunki tai pääkaupunki.
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)
Edellisessä koodiesimerkissä:
- - ja
col_country-col_cityparametreihin on lisättyCountryMatcher- jaCityMatcher-merkintöjä. Tämä huomautus sallii semanttisen funktion automaattisen löytämisen, kun käytät FabricDataFrame-kehyksessä vastaavia metatietoja. - Funktion kutsuminen tarjoaa myös vakiotietotyyppejä, kuten
str,int,floatjadatetimevaadittujen syötesarakkeiden määrittämiseksi. - Ensimmäisen parametrin
dftyyppihuomenna ilmaisee, että funktiota voidaan käyttää FabricDataFrame-kehykseen FabricSeries-ominaisuuden sijaan.