코딜기

[Issue] 1. csv 데이터 임포트 에러 발생 (MySQL Data Import) 본문

Project/Sports Service

[Issue] 1. csv 데이터 임포트 에러 발생 (MySQL Data Import)

코딜기 2024. 10. 4. 21:19
반응형

문제 정의

  • 기존에 크롤링해 놓은 데이터를 일단 db에 저장한 후 프로젝트를 진행하려고 했는데, 아래와 같은 임포트 오류가 발생
    • 이번 프로젝트에서는 빠르게 web 서비스를 만들기 위해서 올해 전체 경기 결과를 크롤링했지만, 추후에 Develop 하는 과정에서는 배치작업(Airflow)을 통해서 매일 새롭게 진행되는 경기 데이터를 수집할 예정이다.(사실 정규 시즌이 끝난 이유도 있다.)


문제 원인

구글링을 해보니 크게 4가지 해결 방법을 찾을 수 있었습니다.

  1. File Path에 한글이 없어야 한다. -> 경로에 한글이 없었음
  2. MySQL 8.0.22 버전을 설치 -> 이전에 사용하고 있는 스키마나 설정이 많았기 때문에 재설치는 최후의 방법으로 보류
  3. BOM utf-8 방식 데이터를 단순 utf-8 방식 데이터로 변환(MAC) -> 여러 번 해봐도 해결되지 않음
  4. SQL문을 사용해서 직접 추가 (LOAD DATA LOCAL INFILE) -> 여러 번 해봐도 해결되지 않음

문제 해결 방법

  • 계속해서 구글링을 하던 도중 터미널에서 워크벤치를 실행시키면 가능하다는 글을 보고 아래 코드를 통해서 워크벤치를 실행시켜 봤다.
open /Applications/MySQLWorkbench.app
  • 왜 때문인지 바로 import에 성공했고, 이유를 찾아보기 시작
  • 이유를 찾아보니 터미널을 해서 실행을 하면 환경 변수, 파일 접근 권한, local_infile 옵션 등이 다르게 적용되어 CSV 임포트가 정상적으로 작동한다고 한다.
    • 워크벤치에서 설정을 바꾼 것이 적용이 안 됐었던 건지, 잘못 설정을 했었던 것인지 추가 확인이 더 필요할 것 같다.
반응형
Comments