2016-06-28 5 views
1

동일한 데이터 프레임의 다른 열을 기반으로 주어진 데이터 프레임에 새 열을 추가하려고합니다.withColumn과 callUDF를 사용하여 데이터 프레임에 열 추가

지도 다음은 내 코드 문자열 - 부울지도

입니다.

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 
+0

1.5.0을 사용하고 있습니다. – user1544460

답변

0

callUDF를 사용할 수 없지만 udf가있는 쿼리를 작성하여 해결했습니다.

표에서 newCol3으로 col1, col2, udfname (col1, col2)을 선택하십시오. 위에서 다른 열을 기반으로 값이 채워진 새로운 열이있는 새로운 데이터 프레임을 제공합니다.

0

이것은 정말로 늦었지만 두 번째 전화가 누락되어 오타가 발생했을 가능성이 가장 높습니다. 또한 callUDF를 가져 왔는지 확인해야하지만 udf가 작동했다면 아마 그렇게했을 것입니다.