在Py
Spark
SQL
中
解析
JSON的方法是使用
from_json
函数
。下面是一个包含代码示例的解决方法:
from pyspark.sql import SparkSession
from pyspark.sql.functions import from_json
# 创建SparkSession
spark = SparkSession.builder \
.appName("JSON Parsing") \
.getOrCreate()
# 创建示例数据
data = [
'{"name": "John", "age": 30}',
'{"name": "Alice", "age": 25}',
'{"name": "Bob", "age": 35}'
# 将数据转换为DataFrame
df = spark.createDataFrame([(d,) for d in data], ["json_data"])
# 定义JSON模式
schema = "name STRING, age INT"
# 使用from_json函数解析JSON数据
parsed_df = df.select(from_json(df.json_data, schema).alias("parsed_data"))
# 展开解析后的数据
expanded_df = parsed_df.select("parsed_data.*")
# 显示结果
expanded_df.show()
运行以上代码,将得到以下输出:
+----+---+
|name|age|
+----+---+
|John| 30|
|Alice| 25|
| Bob| 35|
+----+---+
在上述示例中,首先创建了一个包含JSON字符串的DataFrame。然后,使用from_json
函数将JSON数据解析为指定的模式。最后,使用select
函数展开解析后的数据。