다음을 통해 공유


variant_get

에 따라 하위 변형 vpath추출한 다음 하위 변형을 .로 캐스팅합니다 targetType. 경로가 없으면 null을 반환합니다. 캐스트가 실패하면 예외를 throw합니다.

문법

from pyspark.sql import functions as sf

sf.variant_get(v, path, targetType)

매개 변수

매개 변수 유형 Description
v pyspark.sql.Column 또는 str 변형 열 또는 열 이름입니다.
path pyspark.sql.Column 또는 str 추출 경로 문자열을 포함하는 열 또는 추출 경로를 나타내는 문자열입니다. 유효한 경로는 $ 시작하고 [123], .name, ['name']또는 ["name"]같은 세그먼트가 0개 이상 뒤에 와야 합니다.
targetType 스트링 DDL 형식 문자열로 캐스팅할 대상 데이터 형식입니다.

Returns

pyspark.sql.Column: 추출된 결과를 나타내는 열 targetType 입니다.

예시

from pyspark.sql import functions as sf
df = spark.createDataFrame([ {'json': '''{ "a" : 1 }''', 'path': '$.a'} ])
v = sf.parse_json(df.json)
df.select(sf.variant_get(v, "$.a", "int").alias("r")).collect()
[Row(r=1)]
df.select(sf.variant_get(v, "$.b", "int").alias("r")).collect()
[Row(r=None)]
df.select(sf.variant_get(sf.parse_json(df.json), df.path, "int").alias("r")).collect()
[Row(r=1)]