Exception in thread "main"org.apache.spark.sql.AnalysisException: Resolved attribute(s)
Exception in thread "main" org.apache.spark.sql.AnalysisException: Resolved attribute(s) goods_name#1139 missing from order_id#498,goods_name#476 in operator !TypedFilter , interface org.apache.spark.sql.Row, [StructField(order_id,StringType,true), StructField(goods_name,StringType,true)], createexternalrow(order_id#498.toString, goods_name#1139.toString, StructField(order_id,StringType,true), StructField(goods_name,StringType,true)). Attribute(s) with the same name appear in the operation: goods_name. Please check if the right attribute(s) are used.;;
Join Inner
:- Project [txt_code#6, order_record_code#7, business_type#8, cust_id#9, net_cash_account#10, to_account_date#11, goods_name#476]
: +- Join Inner, (order_code#569 = order_record_code#7)
: :- LogicalRDD [txt_code#6, order_record_code#7, business_type#8, cust_id#9, net_cash_account#10, to_account_date#11], false
: +- Join Inner, (order_record_code#770 = order_code#569)
: :- Join Inner, (order_id#471 = id#568)
: : :- LogicalRDD [id#568, order_code#569], false
: : +- Project [order_id#471, goods_name#476, news_package#490, brand_package#494]
: : +- Join Inner, (order_id#471 = order_id#503)
: : :- Project [order_id#471, goods_name#476, news_package#490]
: : : +- Join Inner, (order_id#471 = order_id#498)
: : : :- TypedFilter , interface org.apache.spark.sql.Row, [StructField(order_id,StringType,true), StructField(goods_name,StringType,true)], createexternalrow(order_id#471.toString, goods_name#476.toString, StructField(order_id,StringType,true), StructField(goods_name,StringType,true))
: : : : +- Project [order_id#471, UDF(goods_name#472) AS goods_name#476]
: : : : +- TypedFilter , interface org.apache.spark.sql.Row, [StructField(order_id,StringType,true), StructField(goods_name,StringType,true)], createexternalrow(order_id#471.toString, goods_name#472.toString, StructField(order_id,StringType,true), StructField(goods_name,StringType,true))
: : : : +- LogicalRDD [order_id#471, goods_name#472], false
해결 방식: 두 번째 join을 진행하기 전에 열마다 별명을 따서 join에서 해결하면 됩니다.
val tmpJoinDf = achievementDf.selectExpr("txt_code as txt_code2", "order_record_code as order_record_code2", "business_type as business_type2", "cust_id as cust_id2", "min_to_account_date", "groupCol").as("joinDf")
val joinExprs = functions.col("joinDf.txt_code2") === functions.col("txt_code") && functions.col("joinDf.order_record_code2") === functions.col("order_record_code") && functions.col("joinDf.business_type2") === functions.col("business_type") && functions.col("joinDf.cust_id2") === functions.col("cust_id")
result1Df = “ join df”.join(tmpJoinDf, joinExprs).select(fileldArr: _*)```
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
2. 부호가 없는 평균수를 모아서 구한다부호수가 없는 평균수를 구하다 문서 목록 제목 중술 문제 분석 및 구해 사고방식 프로그램 코드 내부 RAM30H~37H 단원 중 8개의 기호수가 없는 산술 평균치를 시험적으로 구한 결과 38H에 저장되었다. 보류 중...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.