📅  最后修改于: 2023-12-03 14:45:52.513000             🧑  作者: Mango
本示例演示了如何在 Pyspark 中使用 from_json 函数来解析 JSON 数据,使用 Javascript 语言。
首先,我们需要初始化一个 SparkSession,它是与 Spark 进行交互的入口点。
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("From JSON Example - Javascript") \
.getOrCreate()
接下来,我们创建一个包含 JSON 数据的示例 DataFrame。
# 导入相关库
from pyspark.sql.functions import from_json
from pyspark.sql.types import StructType, StructField, StringType
# JSON 数据
json_data = '''
{
"name": "John",
"age": 30,
"city": "New York"
}
'''
# 构建模式
schema = StructType([
StructField("name", StringType()),
StructField("age", StringType()),
StructField("city", StringType())
])
# 将 JSON 数据转换为 DataFrame
df = spark.read.json(spark.sparkContext.parallelize([json_data]), schema)
接下来,我们使用 from_json 函数解析 JSON 数据,并将其保存到新的列中。
# 定义 json 字段
json_column = df['value']
# 解析 JSON 数据
parsed_df = df.withColumn('parsed', from_json(json_column, schema))
# 选择解析后的列
parsed_df.select('parsed.*').show(truncate=False)
输出结果如下:
+----+---+--------+
|name|age|city |
+----+---+--------+
|John|30 |New York|
+----+---+--------+
以上代码片段使用了 from_json 函数,它接受两个参数:要解析的 JSON 列和模式。通过选择解析后的列,我们可以访问解析后的 JSON 数据。
希望这个示例对你有所帮助!