공부하는 스누피

[pyspark] DataFrame에서 json 문자열을 컬럼으로 바꾸기 본문

Data Engineering

[pyspark] DataFrame에서 json 문자열을 컬럼으로 바꾸기

커피맛스누피 2022. 4. 20. 19:45

- Spark 2.1x부터 사용 가능한 from_json을 활용한다.

- json 데이터를 위한 스키마를 먼저 정의해 두어야 한다.

from pyspark.sql.types import StructType, StructField, StringType
from pyspark.sql.functions import from_json, col

df = spark.createDataFrame(dict_data)

# json 데이터를 위한 스키마를 정의한다.
schema = StructType(
	[
    	StructField('key1', StringType(), True),
    	StructField('key1', StringType(), True),
    ]
)

# from_json으로 json 데이터를 스키마에 맞추어 dataframe으로 만든다.
df = df.withColumn("json_column", from_json("json_column", schema))\
		.select(col('json_column.*'))

 

참고

https://stackoverflow.com/questions/51070251/pyspark-explode-json-in-column-to-multiple-columns

 

Pyspark: explode json in column to multiple columns

The data looks like this - +-----------+-----------+-----------------------------+ | id| point| data| +-----------------------------------------------------+ ...

stackoverflow.com

 

'Data Engineering' 카테고리의 다른 글

[Spark] DataFrame 다루기  (1) 2022.04.20
Comments