如何加入两个镶木地板数据集?
Posted
技术标签:
【中文标题】如何加入两个镶木地板数据集?【英文标题】:How to join two parquet datasets? 【发布时间】:2017-04-19 12:32:45 【问题描述】:我正在使用 Java 从 Spark 中的 Parquet 文件中加载两个数据集。我需要创建一个新的作为两者的组合。在常规 SQL 中,我会加入这些表,应用一些 where 条件并创建一个新表。有没有办法在 Spark (SQL) 中实现这一点?我读到 RDD 可以实现,但我真的不想将数据写回磁盘。
【问题讨论】:
在 sparkSQL 中可以使用典型的连接操作,例如join
,union
。等等。
你想要什么输出只需加入两个数据集或其他任何东西
【参考方案1】:
这几乎就像 Spark SQL 是为给定 parquet 设计的一样是默认格式。
读取 parquet 文件很简单,看起来像:
val fileOne = spark.read.load(...)
val fileTwo = spark.read.load(...)
加入 Spark SQL 也是一件轻而易举的事(并且隐藏了您是否处理 parquet 数据集或其他任何内容)。使用join
运算符。
val joined = fileOne.join(fileTwo).where(...)
这样,保存到数据存储中,比如一个大的(ger)镶木地板文件又是一件轻而易举的事。
joined.write.save(...)
你已经完成了。恭喜!
请阅读Spark SQL 和Dataset API。
【讨论】:
以上是关于如何加入两个镶木地板数据集?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Spark 2.0 中的 DataFrame 列创建数据集?