使用withColumn和Chroudf将列附加到数据框



我试图根据相同数据框的其他列向给定的数据帧添加新列。

地图是字符串树状地图

以下是我的代码。

    hiveContext.udf().register("udfname", new UDF2<String, String, Boolean>() {
    @Override
    public Boolean call(String col1, String col2) throws Exception {
            return map.get(col1+col2);
        }
    }, DataTypes.BooleanType);
    DataFrame newDF = df.withColumn("newcol", calUDF("udfname" ,df.col("col1"),df.col("col2")));

我正在汇编错误。

 The method calUDF(String, Column, Column) is undefined for the type myclass

我无法使用calludf,但是我通过使用UDF进行查询来解决它。

从表中选择COL1,COL2,UDFNAME(COL1,COL2)作为NewCol3。以上将为我提供新的DataFrame,并带有新列,其值基于其他列填充。

这确实很晚,但是问题很可能是由于错别字所致,因为您错过了第二个L中的L。您还需要确保您将Calludf进口,但是如果UDF工作,则可能会做到。

相关内容

  • 没有找到相关文章

最新更新