Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengekstrak objek json dari string json berdasarkan json path yang ditentukan, dan mengembalikan string json dari objek json yang diekstrak. Ini akan mengembalikan null jika string json input tidak valid.
Syntax
from pyspark.sql import functions as sf
sf.get_json_object(col, path)
Parameter-parameternya
| Pengaturan | Tipe | Description |
|---|---|---|
col |
pyspark.sql.Column atau str |
Kolom string dalam format json. |
path |
str | Jalur ke objek json untuk diekstrak. |
Pengembalian Barang
pyspark.sql.Column: representasi string dari nilai objek JSON yang diberikan.
Examples
Contoh 1: Mengekstrak objek json dari string json
from pyspark.sql import functions as sf
data = [("1", '''{"f1": "value1", "f2": "value2"}'''), ("2", '''{"f1": "value12"}''')]
df = spark.createDataFrame(data, ("key", "jstring"))
df.select(df.key,
sf.get_json_object(df.jstring, '$.f1').alias("c0"),
sf.get_json_object(df.jstring, '$.f2').alias("c1")
).show()
+---+-------+------+
|key| c0| c1|
+---+-------+------+
| 1| value1|value2|
| 2|value12| NULL|
+---+-------+------+
Contoh 2: Mengekstrak objek json dari array json
from pyspark.sql import functions as sf
data = [
("1", '''[{"f1": "value1"},{"f1": "value2"}]'''),
("2", '''[{"f1": "value12"},{"f2": "value13"}]''')
]
df = spark.createDataFrame(data, ("key", "jarray"))
df.select(df.key,
sf.get_json_object(df.jarray, '$[0].f1').alias("c0"),
sf.get_json_object(df.jarray, '$[1].f2').alias("c1")
).show()
+---+-------+-------+
|key| c0| c1|
+---+-------+-------+
| 1| value1| NULL|
| 2|value12|value13|
+---+-------+-------+
df.select(df.key,
sf.get_json_object(df.jarray, '$[*].f1').alias("c0"),
sf.get_json_object(df.jarray, '$[*].f2').alias("c1")
).show()
+---+-------------------+---------+
|key| c0| c1|
+---+-------------------+---------+
| 1|["value1","value2"]| NULL|
| 2| "value12"|"value13"|
+---+-------------------+---------+