Spark SQL을 사용하여 만든 하나의 UDF [udf
]을 호출하려고하는 Spark SQL DF가 있습니다. Spark SQL DataFrame에서 UDF 메서드 내의 다른 메서드/변수 호출
val udfName = udf(somemethodName)
val newDF = df.withColumn("columnnew", udfName(col("anotherDFColumn"))
은 내가 somemethodName 내부
val
로 저장 다른 DF를 사용하기 위해 노력하고있어,하지만 DF는 널오고있다.
여기는 newDF
에서 where 절을 사용하는 경우에만 발생합니다.
누락 된 것이 있습니까? UDF 메서드 내에서 다른 변수/메서드를 사용할 수 있습니까?
아니면 방송으로해야합니까? 현재 나는 클러스터에서가 아니라 로컬에서 이것을 실행하고 있습니다. 단지 그 변수/메소드는 직렬화 될 수 있다면 경우
실제로'Dataset' /'Dataframe'을 직렬화 할 수 있습니다. UDF 종결에는 사용할 수 없습니다. –
@Tzach Zohar : 데이터 프레임간에 공통 키가 없으므로 다른 데이터 프레임은 조인 할 수 없습니다. 0 ~ 60과 같은 일부 범위 값이 있습니다. 어떻게 UDF 내부에서 조회를 사용할 수 있습니까? 내가 udf 메서드 내에서 조회 파일을 읽을 수 있기를 바랍니다. 그러나 각 레코드마다 전체 파일을로드해야합니다. – Shankar
@LostInOverflow : UDF 메서드 이름 외부에 정의 된 List를 사용할 수 있습니까? 나는 파일에서 범위를 읽고 목록을 작성한 다음 UDF 메서드 내에서 목록을 사용할 계획입니다. 작동할까요? – Shankar