1
죄송합니다. 중복 인 경우 죄송 합니다만 지적 된 해결책은 저에게 효과가 없습니다. 대부분 나는 여기에 기본적인 것을 놓치고 있습니다. 내가 (스칼라) 이렇게하여 "상태"(String 형의)라는 필드를 기준으로 여기에 관심있는 "행"의 일부를 필터링하기 위해 노력하고스파크 - 열 이름이 작동하지 않는 데이터 프레임에 필터/맵 적용
inputDF: org.apache.spark.sql.DataFrame = [ts: string, id: string ... 20 more fields]
: 나는 Dataframe 아래와 같이이
<console>:143: error: overloaded method value filter with alternatives:
(func: org.apache.spark.api.java.function.FilterFunction[org.apache.spark.sql.Row])org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] <and>
(func: org.apache.spark.sql.Row => Boolean)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] <and>
(conditionExpr: String)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] <and>
(condition: org.apache.spark.sql.Column)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]
cannot be applied to (Boolean)
inputDF.filter(inputDF("connState") == "BALANCED").show()
사람이 여기에 잘못된 것을 지적시겠습니까 :
inputDF.filter(inputDF("state") == "BALANCED").show()
그러나이 내게 오류를 준다? https://rklicksolutions.wordpress.com/2016/03/03/tutorial-spark-1-6-sql-and-dataframe-operations/에있는 예를 포함하여 몇 가지 예를 따라 왔지만 잘못 된 것이 무엇인지 파악할 수 없습니다. 내가
inputDF.filter(inputDF("state") === "BALANCED").show()
내가 원하는 일을한다 대신 ==의 === 사용해야처럼
'inputDF ("state")'는'org.apache.spark.sql.Column'을 리턴하고'=='는'Column' 데이터 유형으로 정의되지 않았기 때문에. '==='는 동등성을 검사하기 위해 정의됩니다. – philantrovert