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"}
반응형
'빅데이터' 카테고리의 다른 글
프로메테우스, 그라파나 사용시 레이블 값 추출, Legend 선택, 여러 variable을 포함하는 쿼리 작성. (0) | 2021.05.04 |
---|---|
alpine telegraf 도커 생성 (0) | 2021.04.22 |
mac에서 하둡 hdfs 설치 및 실행하기 (0) | 2020.08.19 |
macOS에 pyspark설치, pyspark실행시 jupyterlab 실행시키기 (0) | 2020.07.01 |
pyspark 데이터프레임 조건절(when)로 데이터 처리하기 (0) | 2020.06.23 |
pyspark UDF(User Defined Functions) 만들기 방법 및 예제 (0) | 2020.02.13 |