나는 스파크를 사용하여 Terradata 테이블에서 데이터를 읽고 있는데 Upsert 오라클 테이블에 있습니다. 데이터를 삽입 할 수 있지만 UPSERT를 수행 할 수 있습니까?Spark -Reading Terradata 테이블과 오라클 테이블에 업 그레 이드
이것은 Oracle에 데이터를 삽입하는 방법입니다.
dataframe.write.mode (SaveMode.Append) .jdbc (URL, 표 6, 소품)
나는 스파크를 사용하여 Terradata 테이블에서 데이터를 읽고 있는데 Upsert 오라클 테이블에 있습니다. 데이터를 삽입 할 수 있지만 UPSERT를 수행 할 수 있습니까?Spark -Reading Terradata 테이블과 오라클 테이블에 업 그레 이드
이것은 Oracle에 데이터를 삽입하는 방법입니다.
dataframe.write.mode (SaveMode.Append) .jdbc (URL, 표 6, 소품)
나는 하루에 한 번 실행 스파크 작업을 예정 한 테이블 사용 dataframe.write.mode을 덮어 쓰기 (SaveMode. 덮어 쓰기) .jdbc (URL, 테이블, 소품). 따라서 spark 작업이 실행될 때마다 Teradata 테이블에서 모든 데이터를 가져오고 Oracle의 테이블을 덮어 씁니다.
스파크 2.2 스파크에는 upsert이 없습니다. writeStream를 사용하여 foreachpartition
당신은 아주 잘 병렬 방식으로 그것을 할 수 있고, 데이터에
으로 반복하고 foreach 문을 사용하여 알아낼 :
그래서, 방법이 될 수 있습니다 달성 메시지 세트를 삽입/업데이트하려면 ForeachWriter의 open(), close() 및 process() 메서드를 재정의하십시오.
희망이 있습니다.
답장을 보내 주셔서 감사합니다.하지만 일반 DB이므로 스트로크 캔트를 사용하면 스파크 작업이됩니다. 솔루션의 작은 샘플 코드를 보여줄 수 있다면 매우 유용 할 것입니다. –
사람들이 누구나 제발 제안하십시오 –