spark Join空值操作
开门见山
- 准备数据:
val struct1: StructType = StructType(Seq(
StructField("id", IntegerType, true),
StructField("name", StringType, true),
StructField("age", StringType, true)
))
val javaRows: util.List[Row] = List[Row](
Row(1, "zhangsan", "18"),
Row(1, null, "19"),
Row(2, "wangwu", "24"),
Row(4, "maliu", "16")
).asJava
val struct2: StructType = StructType(Seq(
StructField("id", IntegerType, true),
StructField("name", StringType, true),
StructField("english", StringType, true)
))
val javaRows1: util.List[Row] = List[Row](
Row(1, "xiaohong", "64"),
Row(1, null, "56"),
Row(3, "xiaomin", "65"),
Row(4, null, "83")
).asJava
val df1: DataFrame = spark.createDataFrame(javaRows, struct1)
val df2: DataFrame = spark.createDataFrame(javaRows1, struct2)