下午好,
我正在尝试使用Pyspark Dataframe 将日志数据读入Azure Synapse笔记本。当前数据位于容器中,我正在尝试通过其链接访问它:
abfss://insights-logs-integrationpipelineruns@{x}.dfs.core.windows.net/resourceId=....
但是我遇到了一个问题,JSON文件包含多行{ "Level": 4, "correlationId": "x", "time": "y", "runId": "z", "resourceId":...}
{ "Level": 4, "correlationId": "a", "time": "b", "runId": "c", "resourceId":...}
{ "Level": 4, "correlationId": "d", "time": "e", "runId": "f", "resourceId":...}
我尝试使用原生spark.read.json方法,并将multiline选项设置为true,如下所示:
df = spark.read.option("multiLine","true").json(uri)
但我得到了以下错误:
- 分析异常:在数据架构中找到重复列:
level
**
- 分析异常:在数据架构中找到重复列:
问题是,我需要的数据嵌套在每一行中,如果有一种方法可以将JSON文件作为字典加载,我就知道如何解析它,以便获得我需要的数据。
否则,如果没有办法做到这一点,有没有办法让我指定pyspark只读取文件的一部分?
1条答案
按热度按时间rqqzpn5f1#
将此添加到我的笔记本中修复了我的问题: