如何在Spark中读取嵌套集合

问题描述 投票:18回答:4

我有一个镶木桌子,其中一列是

,array >

可以使用LATERAL VIEW语法在Hive中对此表运行查询。

如何将此表读入RDD,更重要的是如何在Spark中过滤,映射等此嵌套集合?

在Spark文档中找不到对此的任何引用。预先感谢您提供任何信息!

ps。我觉得在表格上提供一些数据可能会有所帮助。主表中的列数约为600。行数〜200m。嵌套集合中的“列”数约为10。嵌套集合中的平均记录数约为35。

apache-spark apache-spark-sql nested parquet lateral-join
4个回答
20
投票

对于嵌套集合,这没有什么魔术。 Spark将以相同的方式处理RDD[(String, String)]RDD[(String, Seq[String])]


8
投票

我将提供基于Python的答案,因为这就是我正在使用的答案。我认为Scala具有类似的功能。


3
投票

另一种方法是使用像这样的模式匹配:


1
投票

以上答案都是很好的答案,可以从不同角度解决这个问题; Spark SQL也是访问嵌套数据的非常有用的方法。

© www.soinside.com 2019 - 2024. All rights reserved.