我一直在努力使以下Dataframe查询在Java中工作,但它没有给我结果 . (所需的结果如下所示)有人可以帮忙吗?

是否有参考指南来查看创建数据帧查询的所有语法?这就是我想要的 - 我的数据帧df有很多cols,其中4个是 -

  • id

  • deviceFlag

  • 设备

  • 域名

This is the result I need - 对于所有行,如果deviceFlag设置为1,则形成字符串"device#domain"并将该值存储在新的col "id"中 . 否则,只需获取"device" col中的值并将其存储在新的"id" col中,而不进行任何转换 . 所以我创建了一个新列,其中包含.withColumn和每行的设置值,具体取决于该行中"device"和"deviceFlag" cols的相应值 .

DataFrame result= df.withColumn("id",
    ((Column) when(df.col("deviceFlag").$eq$eq$eq(1),
        concat(df.col("device"), lit("#"),
            df.col("domain")))).otherwise(df.col("device")).alias("id"));