pyspark jdbc write 에서 예외처리 하는 방법이 뭔가요?

조회수 431회
%spark.pyspark

# Spark 
import os, sys
import json, datetime
import pyodbc 
from pyspark import SparkConf, SparkContext, SQLContext
from pyspark.sql.functions import *
from pyspark.sql import *
from pyspark.sql.types import *
from py4j.protocol import Py4JJavaError

... 생략...

df_plc.createOrReplaceTempView("TEST")
q = '''
    SELECT 
       *
    FROM TEST
'''
data = sqlContext.sql(q)
jdbc_url = f"jdbc:sqlserver://{host};databaseName={db};user={user_name};password={password}"
data.write.jdbc(jdbc_url, f"{schema_name}.{table_name}", mode="append")

여기서 data.write.jdbc() 를 실행해서 append할 경우 pk에 걸리면 정상적으로 error가 발생하고 insert 되지 않습니다.

그런데 이 부분을 try, except를 통해 예외처리하고싶은데 제대로 작동하지를 않네요... 혹시 해당 부분에 예외처리 하는 방법이 있을까요?

  • append할 때 나타나는 에러, 그리고 try, except 적용 시 어떻게 진행되는지도 알려주시면 좋을 것 같습니다. 초보자 2021.2.8 15:16
  • 우선 try , except로만 적용해서 에러나면 except 위치에서 raise 시키는데 Exception, ValueErrors처럼 딱 잡아주는게 있을까요? 김재민 2021.2.10 00:50
  • append시 pk 에러 메시지는 따로 올리겠습니다. 김재민 2021.2.10 00:50
  • 올린 코드와 내용이 매칭되지 않습니다. 묻겠습니다. 오류가 나면 오류코드를 보지 않고 어떤 오류인지 알 수 있습니까? 또는 코드 전문을 보지 않고 극히 일부분만을 보게 된 상황에서 어떤 오류가 나타날지 유추해낼 수 있습니까? 또, try, except를 통한 예외처리를 하고 싶다고 하는데, 해당 문구만 보고 예외시 pass할지, 에러를 raise할지, 에러를 출력할지, 함수를 정지할지, 아니면 그 외 방법을 시도할 지 알 수 있습니까? 초보자 2021.2.10 13:47

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)