📜  pyspark from_json 示例 - Javascript (1)

📅  最后修改于: 2023-12-03 14:45:52.513000             🧑  作者: Mango

Pyspark from_json 示例 - Javascript

本示例演示了如何在 Pyspark 中使用 from_json 函数来解析 JSON 数据,使用 Javascript 语言。

1. 初始化 SparkSession

首先,我们需要初始化一个 SparkSession,它是与 Spark 进行交互的入口点。

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("From JSON Example - Javascript") \
    .getOrCreate()
2. 创建示例数据

接下来,我们创建一个包含 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)
3. 使用 from_json 函数解析 JSON 数据

接下来,我们使用 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 数据。

希望这个示例对你有所帮助!