python - 在数据块中加载 json 响应以触发数据帧时获取 _corrupt_record
问题描述
我一直在尝试从https://anapioficeandfire.com/获取数据并将其加载到 spark 数据框。一切正常,直到我到达字符 #1173 并且出现 _corruptedrecord 错误
(AnalysisException:从 Spark 2.3 开始,当引用的列仅包含内部损坏记录列时,不允许来自原始 JSON/CSV 文件的查询)
我认为它与别名列中的转义字符有关,尽管我不知道如何解决它。
我的部分代码如下。这应该足以解决错误。也许有人已经解决了这个问题?
import json
import requests
def send_request(api_object):
page = 1173
url = 'https://anapioficeandfire.com/api/'
req = url + api_object + '?page=' + str(page)+ '&pageSize=1'
response = requests.get(req)
results = response.json()
return results
dbutils.fs.put("books.json", str(send_request('characters')), True)
df = spark.read.json("books.json", multiLine=True)
#df = spark.read.json(sc.parallelize([send_request('characters')]))
display(df)
send_request('characters')
解决方案
推荐阅读
- if-statement - 如何计算以逗号分隔的列表中的文本?
- python - Json 响应 pyodbc 更好的方式
- google-chrome - 谷歌浏览器是否仅根据用户 ID 保存密码?
- javascript - 如何将事件侦听器附加到文档/窗口并确保 event.target 是文档
- java - 使用二叉搜索树数据在java中递归构建字符串
- javascript - 无法使用带点的计算属性值 - 无法设置为字符串 - JS
- python - Python:为什么类的新实例假定第一个实例的属性?
- python - 如何在 Python 中进行特定的可视化
- graph - Apollo 如何提供有意义的__typenames?
- javascript - 构建失败:程序类型已经存在:com.rssignaturecapture.BuildConfig in react native