Bắt đầu ngayBắt đầu miễn phí

Đọc dữ liệu từ cơ sở dữ liệu

Trong bài tập này, bạn sẽ trích xuất dữ liệu nằm trong các bảng của một cơ sở dữ liệu PostgreSQL cục bộ. Bộ dữ liệu bạn sẽ dùng là cơ sở dữ liệu mẫu Pagila. Cơ sở dữ liệu này hỗ trợ một ứng dụng cửa hàng DVD hư cấu và thường được dùng làm ví dụ trong tài liệu học tập.

Bạn sẽ tạo và sử dụng một hàm để trích xuất một bảng trong cơ sở dữ liệu thành một đối tượng DataFrame của pandas. Các bảng bạn sẽ trích xuất gồm:

  • film: các bộ phim được cho thuê tại cửa hàng DVD.
  • customer: các khách hàng đã thuê phim tại cửa hàng DVD.

Để kết nối tới cơ sở dữ liệu, bạn sẽ phải dùng PostgreSQL connection URI, trông như sau:

postgresql://[user[:password]@][host][:port][/database]

Bài tập này là một phần của khóa học

Introduction to Data Engineering

Xem khóa học

Hướng dẫn bài tập

  • Hoàn thành định nghĩa hàm extract_table_to_pandas() để đưa đối số tablename vào trong truy vấn.
  • Điền connection URI. Tên người dùng và mật khẩu lần lượt là replpassword. Máy chủ là localhost, cổng là 5432. Cơ sở dữ liệu là pagila.
  • Hoàn tất các lần gọi hàm extract_table_to_pandas() để trích xuất các bảng film và customer.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)
Chỉnh sửa và Chạy Mã