如何在PySpark中保存从URL获取的JSON数据?

如何在PySpark中保存从URL获取的JSON数据?,json,apache-spark,pyspark,apache-spark-sql,pyspark-dataframes,Json,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Dataframes,我从API中获取了一些.json数据 import urllib2 test=urllib2.urlopen('url') print test 如何将其保存为表或数据框?我正在使用Spark 2.0。为此,您可以进行一些研究并尝试使用sqlContext。以下是示例代码:- >>> df2 = sqlContext.jsonRDD(test) >>> df2.first() 此外,访问line并在这里查看更多内容, 除了Rakesh Kumar的答案

我从API中获取了一些.json数据

import urllib2
test=urllib2.urlopen('url') 
print test


如何将其保存为表或数据框?我正在使用Spark 2.0。

为此,您可以进行一些研究并尝试使用sqlContext。以下是示例代码:-

>>> df2 = sqlContext.jsonRDD(test)
>>> df2.first()
此外,访问line并在这里查看更多内容,

除了Rakesh Kumar的答案之外,在spark 2.0中实现这一点的方法是:

例如,以下内容基于JSON文件的内容创建数据帧:

# spark is an existing SparkSession
df = spark.read.json("examples/src/main/resources/people.json")
# Displays the content of the DataFrame to stdout
df.show()

请注意,作为json文件提供的文件不是典型的json文件。每行必须包含一个单独的、自包含的有效JSON对象。有关更多信息,请参阅JSON行文本格式,也称为换行分隔JSON。因此,常规的多行JSON文件通常会失败。

我就是这样成功地将.JSON数据从web导入到
df

from pyspark.sql import SparkSession, functions as F
from urllib.request import urlopen

spark = SparkSession.builder.getOrCreate()

url = 'https://web.url'
jsonData = urlopen(url).read().decode('utf-8')
rdd = spark.sparkContext.parallelize([jsonData])
df = spark.read.json(rdd)