의미 체계 함수
이 문서에서는 의미 체계 함수와 데이터 과학자 및 데이터 엔지니어가 작업 중인 FabricDataFrame 또는 FabricSeries와 관련된 함수를 검색하는 데 어떻게 도움이 되는지 설명합니다. 의미 체계 함수는 Microsoft Fabric 의미 체계 링크 기능의 일부입니다.
Spark 3.4 이상의 경우 의미 체계 링크 코어 패키지는 기본 패브릭 런타임에서 사용할 수 있지만 의미 체계 함수 논리(예: is_holiday
)를 포함하는 의미 체계-링크-함수 패키지는 수동으로 설치해야 합니다. SemPy(Python 의미 체계 링크) 라이브러리의 최신 버전으로 업데이트하려면 다음 명령을 실행합니다.
%pip install -U semantic-link
FabricDataFrame은 각 함수가 정의하는 논리에 따라 의미 체계 함수를 동적으로 노출합니다.
예를 들어 is_holiday
날짜/시간 열과 국가 열이 모두 포함된 FabricDataFrame에서 작업할 때 자동 완성 제안에 함수가 나타납니다.
각 의미 체계 함수는 FabricDataFrame 또는 FabricSeries의 데이터, 데이터 형식 및 메타데이터(예: Power BI 데이터 범주)에 대한 정보를 사용하여 작업 중인 특정 데이터와 관련성을 확인합니다.
의미 체계 함수는 데코레이터에 주석을 추가하면 @semantic_function
자동으로 검색됩니다.
의미 체계 함수는 DataFrame 개념에 적용되는 C# 확장 메서드와 같다고 생각할 수 있습니다.
의미 체계 함수 자동 완성 제안
의미 체계 함수는 FabricDataFrame 또는 FabricSeries로 작업할 때 자동 완성 제안에서 사용할 수 있습니다. Ctrl+스페이스바를 사용하여 자동 완성을 트리거합니다.
다음 코드 예제에서는 FabricDataFrame에 대한 메타데이터를 수동으로 지정합니다.
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()
또는 의미 체계 모델에서 FabricDataFrame으로 읽는 경우 메타데이터가 자동으로 채워집니다.
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()
기본 제공 의미 체계 함수
SemPy Python 라이브러리는 기본적으로 사용할 수 있는 기본 제공 의미 체계 함수 집합을 제공합니다. 이러한 기본 제공 함수는 다음과 같습니다.
is_holiday(...)
는 지정된 국가의 휴일 인 경우 휴일 Python 패키지를 사용하여 반환true
합니다.to_geopandas(...)
는 FabricDataFrame을 GeoPandas GeoDataFrame으로 변환합니다 .parse_phonenumber(...)
에서는 전화 번호 Python 패키지를 사용하여 전화 번호를 해당 구성 요소로 구문 분석합니다.validators
에서는 유효성 검사기 Python 패키지를 사용하여 이메일 및 신용 카드 번호와 같은 일반적인 데이터 형식의 유효성을 검사합니다.
사용자 지정 의미 체계 함수
의미 체계 함수는 확장성을 위해 설계되었습니다. Notebook 내에서 또는 별도의 Python 모듈로 고유한 의미 체계 함수를 정의할 수 있습니다.
Notebook 외부에서 의미 체계 함수를 사용하려면 모듈 내에서 의미 체계 함수를 선언합니다 sempy.functions
. 다음 코드 예제에서는 도시가 국가의 수도인 경우 반환 true
하는 의미 체계 함수 _is_capital
의 정의를 보여줍니다.
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)
앞의 코드 예제에서는 다음을 수행합니다.
- 및
col_city
매개 변수에는col_country
각각 주석과CityMatcher
매개 변수가 주석으로CountryMatcher
추가됩니다. 이 주석을 사용하면 해당 메타데이터가 있는 FabricDataFrame으로 작업할 때 의미 체계 함수를 자동으로 검색할 수 있습니다. - 함수를 호출하면 ,
int
float
및 같은str
표준 데이터 형식을datetime
제공하고 필요한 입력 열을 정의합니다. - 첫 번째 매개 변수
df
의 형식 주석은 함수가 FabricSeries가 아닌 FabricDataFrame에 적용할 수 있음을 보여 줍니다.
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기