将 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 数据帧
Spark:如何从 Spark 数据帧行解析和转换 json 字符串