我正在使用 Java 从 Spark 中的 Parquet 文件加载两个数据集。我需要创建一个新的作为两者的组合。在常规 SQL 中,我会连接表,应用一些 where 条件并创建一个新表。 Spark(SQL)有什么方法可以实现这一点吗?我读到 RDD 是可能的,但我真的不想将数据写回磁盘。
最佳答案
这几乎就像 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) Parquet 文件,再次变得轻而易举。
joined.write.save(...)
你已经完成了。恭喜!
请阅读Spark SQL和 Dataset API .
关于java - 如何连接两个 Parquet 数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43495883/