티스토리 뷰
PySpark에서 MySQL를 연결하여 사용해본다.
디펜던시 설치
지난번과 유사하게 mysql connecter jar 패키지를 디펜던시로 갖는다.
지난번처럼 pyspark에서 패키지를 관리하는 것 같지는 않으니 따로 jar 파일을 다운받아서 사용하도록 하겠다.
링크에서 다운받을 수 있다.
Docker로 Mysql 로컬 서버 열기
1. mysql 이미지 내려받기
docker pull mysql
2. 실행
docker run --name CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=PASSWORD -d -p 3306:3306 mysql:latest
3. 데이터베이스 추가 및 테이블 생성
mysql을 실행하여 SQL 쿼리로 간단하게 데이터베이스와 테이블을 생성한다.
docker exec -it mysql-server2 mysql -u root -p
Pyspark로 mysql 서버와 연결하기
mysql_url = "jdbc:mysql://127.0.0.1/DB_NAME"
mysql_table = "TABLE_NAME"
mysql_properties = {
"user": os.getenv("MYSQL_USER"),
"password": os.getenv("MYSQL_PASSWORD"),
"driver": "com.mysql.cj.jdbc.Driver",
}
1. 읽기 예시
데이터프레임의 내용을 해당 테이블로 append.
df.write.jdbc(
url=mysql_url, table=mysql_table, mode="append", properties=mysql_properties
)
2. 쓰기 예시
데이터베이스의 특정 테이블을 데이터프레임으로 읽어온다.
df = spark.read.jdbc(url=mysql_url, table=mysql_table, properties=mysql_properties)
'데이터 엔지니어링 > Spark' 카테고리의 다른 글
[Troubleshoooting] Spark Murmur3 해시의 호환 문제 (1) | 2025.05.17 |
---|---|
Spark 속 해시 이야기 - Murmur3와 xxHash (0) | 2025.05.10 |
Spark에서 Auto Increment Key 생성하는 방법 (0) | 2025.04.19 |
PySpark 로컬 환경설정과 S3에서 데이터 읽기 (0) | 2024.07.24 |
최근에 올라온 글
- Total
- Today
- Yesterday