데이터베이스에서 읽어오기
이번 연습 문제에서는 로컬 PostgreSQL 데이터베이스의 테이블에 들어 있는 데이터를 추출해 볼 거예요. 사용할 데이터는 Pagila 예제 데이터베이스입니다. 이 데이터베이스는 가상의 DVD 매장 애플리케이션을 기반으로 하며, 교육 자료에서 예제 데이터베이스로 자주 사용됩니다.
데이터베이스 테이블을 pandas DataFrame 객체로 추출하는 함수를 만들고 사용할 거예요. 추출할 테이블은 다음과 같습니다.
film: DVD 매장에서 대여되는 영화 정보customer: DVD 매장에서 영화를 대여한 고객 정보
데이터베이스에 연결하려면 PostgreSQL 연결 URI를 사용해야 하며, 형식은 다음과 같습니다.
postgresql://[user[:password]@][host][:port][/database]
이 연습은 강의의 일부입니다
데이터 엔지니어링 입문
연습 안내
extract_table_to_pandas()함수 정의를 완성하여, 쿼리에tablename인자가 포함되도록 하세요.- 연결 URI를 채우세요. 사용자 이름과 비밀번호는 각각
repl,password입니다. 호스트는localhost, 포트는5432, 데이터베이스는pagila입니다. extract_table_to_pandas()함수 호출을 완성하여 film 테이블과 customer 테이블을 추출하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Function to extract table to a pandas DataFrame
def extract_table_to_pandas(tablename, db_engine):
query = "SELECT * FROM {}".format(____)
return pd.read_sql(query, db_engine)
# Connect to the database using the connection URI
connection_uri = "postgresql://____:____@____:____/____"
db_engine = sqlalchemy.create_engine(connection_uri)
# Extract the film table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)
# Extract the customer table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)