SQL và Parquet
Các tệp Parquet rất phù hợp để làm kho dữ liệu nền cho các truy vấn SQL trong Spark. Dù bạn có thể chạy các truy vấn tương tự trực tiếp bằng các hàm Python của Spark, đôi khi chạy truy vấn SQL song song với các lựa chọn trong Python sẽ dễ hơn.
Trong ví dụ này, bạn sẽ đọc tệp Parquet đã tạo ở bài trước và đăng ký nó như một bảng SQL. Sau khi đăng ký, bạn sẽ chạy một truy vấn nhanh trên bảng đó (tức là trên tệp Parquet).
Đối tượng spark và tệp AA_DFW_ALL.parquet đã được cung cấp sẵn cho bạn.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu với PySpark
Hướng dẫn bài tập
- Nạp tệp
AA_DFW_ALL.parquetvàoflights_df. - Dùng phương thức
createOrReplaceTempViewđể đặt bí danh cho bảngflights. - Chạy một truy vấn Spark SQL trên bảng
flights.
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.
# Read the Parquet file into flights_df
flights_df = spark.read.____(____)
# Register the temp table
flights_df.____('flights')
# Run a SQL query of the average flight duration
avg_duration = spark.____('SELECT avg(flight_duration) from flights').collect()[0]
print('The average flight time is: %d' % avg_duration)