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