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