我已经从API获取了一些.json数据。
import urllib2 test=urllib2.urlopen('url') print test
如何将其保存为表格或数据框?我使用的是Spark 2.0。
0yg35tkg1#
下面是我如何成功地将.json数据从web导入到df中:
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)
elcex8rz2#
为此,您可以进行一些研究,并尝试使用sqlContext。以下是示例代码:
>>> df2 = sqlContext.jsonRDD(test) >>> df2.first()
此外,请访问line并在此处查看更多信息,https://spark.apache.org/docs/1.6.2/api/python/pyspark.sql.html
rxztt3cl3#
除了Rakesh Kumar的回答之外,在spark 2.0中实现这一点的方法是:http://spark.apache.org/docs/2.1.0/sql-programming-guide.html#data-sources例如,下面的代码基于JSON文件的内容创建一个DataFrame:
# 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文件通常会失败。
3条答案
按热度按时间0yg35tkg1#
下面是我如何成功地将.json数据从web导入到
df
中:elcex8rz2#
为此,您可以进行一些研究,并尝试使用sqlContext。以下是示例代码:
此外,请访问line并在此处查看更多信息,https://spark.apache.org/docs/1.6.2/api/python/pyspark.sql.html
rxztt3cl3#
除了Rakesh Kumar的回答之外,在spark 2.0中实现这一点的方法是:
http://spark.apache.org/docs/2.1.0/sql-programming-guide.html#data-sources
例如,下面的代码基于JSON文件的内容创建一个DataFrame:
**请注意,**作为JSON文件提供的文件不是典型的JSON文件。每行必须包含一个独立的、自包含的有效JSON对象。有关详细信息,请参阅JSON行文本格式,也称为换行符分隔的JSON。因此,常规的多行JSON文件通常会失败。