我有两个数据集,我将使用Java按如下方式加入它们
Dataset<Row> joineddata = ds1.join(ds2, col("col1").equalTo(col("col2")), "inner");
谁能告诉我如何使用Java以类型安全的方式在Apace Spark中联接两个数据集。我可以在scala中找到有关类型安全连接的示例。但是我无法使用Java找到相同的内容。
任何人都可以给我建议一个链接或与此相关的内容
答案 0 :(得分:0)
恕我直言,我认为您到目前为止无法做到。
scala社区已实现了这一点:https://github.com/typelevel/frameless。但是由于它使用的是Cats,因此很难将其移植到Java中。即使使用此库,您也不再处理本机Spark,因此并非所有无框架的Spark API均受支持。
一旦加入2个数据集,您将得到数据框,从而失去类型安全性。 row.getAs
基本上是类型转换,因此RT异常是不可避免的。