본문 바로가기

빅데이터

pyspark사용시 csv로 저장시 json이 따옴표(")로 묶이는 현상 방지하기

pyspark를 사용하여 dataframe을 처리한 이후 csv로 json  value를 저장할때 아래와 같이 저장될 때가 있습니다.

// 저장되기 원하는 값
{"key":"value"}

// 실제로 저장되는 값
"{\"key\":\"value\"}"

json value로 그대로 저장하길 원하지만, 따옴표가 escape처리되어 저장됩니다. 이때는 pyspark의 csv저장옵션을 지정해야합니다. pyspark csv 저장옵션 중 escapeQuotes를 false로 두면 해결할 수 있습니다.

...
dataframe.write.option("escapeQuotes","false").mode("overwrite").csv("/data/destination")

위 구문을 실행하면 json이 그대로 저장되는것을 확인할 수 있습니다.

// 저장되기 원하는 값
{"key":"value"}

// 실제로 저장되는 값
{"key":"value"}