将 JSON 从 URL 转换为数据帧(Pyspark 和 Scala)

Posted

技术标签:

【中文标题】将 JSON 从 URL 转换为数据帧(Pyspark 和 Scala)【英文标题】:Convert JSON from a URL to dataframe (Pyspark and Scala) 【发布时间】:2019-08-05 18:05:09 【问题描述】:

我有一个网址,例如:

the_given_URL = https://blahblah.blahblah.com/raw/AAA/B_B_B/C-C/DD_DD/W/config/smth.json?token=AAArebNfNdB5Ypd9de2NH1ifSCzqA-aEks5dTcabwA%3D%3D

其中包含 Json 格式的数据,可能会定期更新。

我找不到将其转换为数据框的方法。 Scala 和 Pyspark 的方式都可能有所帮助。

我尝试过类似的东西

  val df = sqlContext.read.json("the_given_URL")

但我收到以下错误:

  19/08/05 17:43:13 WARN FileStreamSink: Error while looking for metadata directory.

  java.io.IOException: No FileSystem for scheme: https

请考虑我得到的错误是针对给定的 URL

【问题讨论】:

【参考方案1】:

您应该使用请求库来访问该网页。这应该可以帮助您 准备好了

import json
import requests

req = requests.get("path to json")
df = sqlContext.createDataFrame([json.loads(line) for line in req.iter_lines()])

【讨论】:

没有“json 路径”有一个具有上述给定格式的 URL(“给定 URL”)。当我提供该 URL 时出现错误。我使用了您建议的方法,这与我在这里为 Scala 放置的方法相同,但我得到了类似的错误。

以上是关于将 JSON 从 URL 转换为数据帧(Pyspark 和 Scala)的主要内容,如果未能解决你的问题,请参考以下文章

遍历 url 端点并将 json 转换为 pandas 数据帧

将嵌套对象的JSON转换为Pandas Dataframe

如何在火花上将json字符串转换为数据帧

Spark:如何从 Spark 数据帧行解析和转换 json 字符串

将 pandas 数据帧转换为 json 对象 - pandas

将 pandas 数据帧转换为 json 很慢