2016-07-08 27 views
8

Tôi muốn chuyển đổi biến chuỗi bên dưới thành dataframe trên tia lửa.cách chuyển đổi chuỗi json thành dataframe trên tia lửa

val jsonStr = "{ "metadata": { "key": 84896, "value": 54 }}" 

Tôi biết cách tạo dataframe từ tệp json.

sqlContext.read.json("file.json") 

nhưng tôi không biết cách tạo dataframe từ biến chuỗi.

Làm cách nào tôi có thể chuyển đổi biến chuỗi json thành dataframe.

Trả lời

18

Đối Spark 2.2+:

import spark.implicits._ 
val jsonStr = """{ "metadata": { "key": 84896, "value": 54 }}""" 
val df = spark.read.json(Seq(jsonStr).toDS) 

Đối older versions:

val jsonStr = """{ "metadata": { "key": 84896, "value": 54 }}""" 
val rdd = sc.parallelize(Seq(jsonStr)) 
val df = sqlContext.read.json(rdd) 
+0

Hết ngày, xem câu trả lời dưới đây cho Spark 2.2 –

7

Kể từ khi chức năng cho việc đọc JSON từ một RDD đã bị phản đối ở Spark 2.2, đây sẽ là một lựa chọn:

val jsonStr = """{ "metadata": { "key": 84896, "value": 54 }}""" 
import spark.implicits._ // spark is your SparkSession object 
val df = spark.read.json(Seq(jsonStr).toDS) 
Các vấn đề liên quan