Spark 读取带有部分模式的 json
Posted
技术标签:
【中文标题】Spark 读取带有部分模式的 json【英文标题】:Spark read json with partial schema 【发布时间】:2017-07-13 21:00:05 【问题描述】:我需要使用 spark 处理相当大的 json 文件。我不需要 json 中的所有字段,实际上只想读取其中的一部分(而不是读取所有字段和项目)。 我想知道是否可以使用 json 连接器并为其提供部分读取模式,其中仅包含我感兴趣的字段。
【问题讨论】:
【参考方案1】:这取决于你的 json 是否是多行的。目前 spark 仅支持单行上的 json 作为数据帧。 spark 2.3 的下一个版本将支持多行 json。
但是对于你的问题。我认为您不能使用部分模式来读取 json。您可以首先提供完整架构以作为数据框读入,然后选择您需要将部分架构构建为单独的数据框的特定列。由于spark使用了惰性求值,并且sql引擎能够下推过滤器,所以性能不会差。
【讨论】:
并假设它是每行单个 json?以上是关于Spark 读取带有部分模式的 json的主要内容,如果未能解决你的问题,请参考以下文章
如何在 spark dataframes/spark sql 中使用模式读取 json