2016-08-03 3 views
0

두 개의 데이터 프레임 A와 B를 결합하고 다른 수의 열을 포함하고 데이터 프레임 A와 B에서 공통적이지 않은 열에 대해 null을 얻는 방법은 무엇입니까?Spark에서 다른 수의 열을 사용하여 두 테이블 조인

그 불꽃의 unionAll이 작업을 지원하지 않습니다 볼 수 있고 오류를

org.apache.spark.sql.AnalysisException: Union can only be performed on tables with the same number of columns, but the left table has 11 columns and the right has 10;

스파크 버전 다음과 같은 예외 :이 모든 열을 지정 있도록 1.6.1

+1

나는 DBMS wher를 모른다 그 쿼리는 유니온 테이블의 다른 컬럼 구조와 잘 작동 할 것이다. – Siyual

+0

@Siyual 입력 해 주셔서 감사합니다. 그에 따라 수정 됨 – Omley

답변

0

가 조회를 다시 작성 및 사용 null as missing_field 당신이 가지고 있지 않은 컬럼을 보완 할 것입니다.

SELECT field1, field2, field3 FROM A UNION ALL SELECT field1, field2, null as field3 FROM B 
+0

비 일반적인 열을 식별하기 위해 개별적으로 열의 검사를 피할 수있는 자동화 된 방법이 있습니까? – Omley

+0

당신은 select *, 공용체에서 모든 select *, null을 B에서 field3으로 시도 할 수 있습니다. 그러나 구성에서 작동하는지 확실하지 않습니다. – Anton