Spark from_json 함수
from_json() 은 spark sql 에서 지원하는 함수로 json을 받아왔을 때 각 속성들을 column화 시켜주는 함수이다. 아래는 sparkbyexamples 에서의 설명이다.
In Spark/PySpark from_json() SQL function is used to convert JSON string from DataFrame column into struct column, Map type, and multiple columns.
예제
# Schema 정의
schema = StructType([
StructField("id1", StringType()),
StructField("id2", StringType()),
StructField("value1", StringType()),
StructField("value2", StringType())
])
# json 데이터 파싱
# kafka 에서 오는 데이터는 value
df.selectExpr("CAST(value AS STRING)") \
.select(from_json("value", schema).alias("data")) \
.select("data.*") \
.show()