如何连接两个镶木地板数据集?

时间:2017-04-19 12:32:45

标签: java apache-spark apache-spark-sql apache-spark-dataset

我正在使用Java从Spark中的Parquet文件加载两个DataSet。我需要创建一个新的组合作为两者的组合。在常规SQL中,我会加入表,在某些条件下应用并创建新表。有没有办法在Spark(SQL)中实现这一点?我读到可以使用RDD,但我真的不想将数据写回磁盘。

1 个答案:

答案 0 :(得分:2)

这几乎就像Spark SQL是为特定镶木地板设计的,是默认格式。

阅读镶木地板文件是明智的,看起来像:

val fileOne = spark.read.load(...)
val fileTwo = spark.read.load(...)

加入Spark SQL也是不费脑子的(隐藏你是否处理镶木地板数据集或其他任何东西)。使用join运算符。

val joined = fileOne.join(fileTwo).where(...)

有了它,保存到一个数据存储,比如说一个大的(ger)镶木地板文件再次是一个明智的选择。

joined.write.save(...)

你已经完成了。恭喜!

请阅读Spark SQLDataset API