티스토리 뷰

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)

 

최근에 올라온 글
Total
Today
Yesterday