Если вы хотите использовать api набора данных ниже в java -
def join(right: Dataset[_], usingColumns: Seq[String], joinType: String): DataFrame
, тогда преобразуйте список строк в seq. Пожалуйста, сохраните метод ниже, чтобы преобразовать java list
в scala seq
, так как большинство apis искры принимают scala seq
import scala.collection.JavaConversions;
<T> Buffer<T> toScalaSeq(List<T> list) {
return JavaConversions.asScalaBuffer(list);
}
Также вы не можете использовать joinType
как RightOuter.sql()
, которое оценивается как 'RIGHT OUTER'
. Поддерживаемый join types
включает -
'inner', 'outer', 'full', 'fullouter', 'full_outer', 'leftouter', 'left', 'left_outer', 'rightouter', 'right', 'right_outer', 'leftsemi', 'left_semi', 'leftanti', 'left_anti', 'cross'
Теперь вы можете использовать -
Dataset<Row> dataset3 = dataset1.join(dataset2,
toScalaSeq(Arrays.asList("target_guid")), "rightouter");