प्रभावी क्वेरी निष्पादन

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

Liam Brannigan

Data Scientist & Polars Contributor

अपने प्रशिक्षक से मिलें

$$

$$

  • Liam Brannigan, लीड डेटा साइंटिस्ट
  • ML और डेटा इंजीनियरिंग विशेषज्ञ
  • Polars योगदानकर्ता

इस कोर्स के प्रशिक्षक Liam Brannigan की तस्वीर

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

लैपटॉप से क्लाउड तक

लैपटॉप से क्लाउड तक स्केल होती Polars पाइपलाइन

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

क्या यह कोर्स आपके लिए है?

Polars कोर्स पेज

  • scan_csv से लेज़ी क्वेरी बनाना
  • filter, select, और group_by से एक्सप्रेशन लिखना
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

अध्याय 1 - ऑप्टिमाइज़ेशन

क्वेरी ऑप्टिमाइज़ेशन

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

अध्याय 1 - ऑप्टिमाइज़ेशन

क्वेरी ऑप्टिमाइज़ेशन

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

अध्याय 2 - प्रभावी I/O

कई फ़ाइल टाइप ingest करता Polars

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

अध्याय 3 - समृद्ध dtypes

नेस्टेड डेटा को टेबल में बदलने का डायग्राम.

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

अध्याय 4 - पाइपलाइनों का स्केलिंग

बड़ी टेबल को स्ट्रीम करने की इमेज.

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

Chicago requests डेटासेट

शिकागो मेयर की डेटा एनालिटिक्स टीम

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

डेटासेट का निरीक्षण

requests = pl.scan_csv("311_Service_Requests.csv",try_parse_dates=True)

एक विशाल डेटासेट, जिसमें शिकागो के नागरिकों की हर सर्विस रिक्वेस्ट दर्ज है

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

डेटासेट का निरीक्षण

requests.collect()
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

डेटासेट का निरीक्षण

requests.collect().head(5)
shape: (5, 39)
| TYPE                          | STATUS    | DEPARTMENT     | CREATED_DATE        | ... |
| ---                           | ---       | ---            | ---                 | --- |
| str                           | str       | str            | str                 | ... |
|-------------------------------|-----------|----------------|---------------------|-----|
| Pothole in Street Complaint   | Completed | Transportation | 2019-12-16T10:09:08 | ... |
| Tree Trim Request             | Cancelled | Sanitation     | 2019-09-18T01:05:08 | ... |
| Garbage Cart Maintenance      | Completed | Sanitation     | 2021-01-24T09:14:58 | ... |
| Pothole in Street Complaint   | Completed | Transportation | 2019-03-21T10:41:01 | ... |
| Recycling Pick Up             | Completed | Sanitation     | 2021-02-16T08:28:59 | ... |
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

प्रोसेस की जाने वाली पंक्तियाँ सीमित करना

requests.head(5)
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

प्रोसेस की जाने वाली पंक्तियाँ सीमित करना

requests.head(5).collect()
shape: (5, 39)
| TYPE                            | STATUS    | DEPARTMENT     | CREATED_DATE        | ... |
| ---                             | ---       | ---            | ---                 | --- |
| str                             | str       | str            | str                 | ... |
|---------------------------------|-----------|----------------|---------------------|-----|
| Pothole in Street Complaint     | Completed | Transportation | 2019-12-16T10:09:08 | ... |
| Tree Trim Request | Completed | Sanitation     | 2019-09-18T01:05:08 | ... |
| Garbage Cart Maintenance        | Completed | Sanitation     | 2021-01-24T09:14:58 | ... |
| Pothole in Street Complaint     | Completed | Transportation | 2019-03-21T10:41:01 | ... |
| Recycling Pick Up               | Completed | Sanitation     | 2021-02-16T08:28:59 | ... |
  • collect को बाद में कॉल करें
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

विभाग-सारांश क्वेरी

completed_by_department


Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

विभाग-सारांश क्वेरी

completed_by_department = requests


Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

विभाग-सारांश क्वेरी

completed_by_department = requests.filter(
    pl.col("STATUS") == "Completed"
)
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

विभाग-सारांश क्वेरी

completed_by_department = requests.filter(
    pl.col("STATUS") == "Completed"
).collect()
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

विभाग-सारांश क्वेरी

completed_by_department = requests.filter(
    pl.col("STATUS") == "Completed"
).collect().group_by("DEPARTMENT").len()
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

विभाग-सारांश क्वेरी

completed_by_department = requests.filter(
    pl.col("STATUS") == "Completed"
).group_by("DEPARTMENT").len().collect()
shape: (10, 2)
| DEPARTMENT                     | len     |
| ---                            | ---     |
| str                            | u32     |
|-------------------------------|---------|
| 311 City Services              | 4859161 |
| Sanitation                     | 3406631 |
| Aviation                       | 2337842 |
| CDOT - Department of Transport | 1468240 |
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

डाइवर्जिंग क्वेरी शाखाएँ

completed_by_department = requests.filter(
    pl.col("STATUS") == "Completed"
).group_by("DEPARTMENT").len()
completed_by_month = requests.filter(
    pl.col("STATUS") == "Completed"
).group_by("MONTH").len()
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

टीम आज इसे ऐसे चलाती है

completed_by_department.collect()
completed_by_month.collect()
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

डाइवर्जिंग क्वेरियों का निष्पादन

results = pl.collect_all(


)
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

डाइवर्जिंग क्वेरियों का निष्पादन

results = pl.collect_all([
    completed_by_department,
    completed_by_month,
])
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

डाइवर्जिंग क्वेरियों का निष्पादन

results[0]  # completed_by_department
shape: (10, 2)
| DEPARTMENT           | len     |
| ---                  | ---     |
| str                  | u32     |
|----------------------|---------|
| 311 City Services    | 4859161 |
| Sanitation           | 3406631 |
| Aviation             | 2337842 |
| Transport            | 1468240 |
results[1]  # completed_by_month
shape: (12, 2)
| MONTH | len  |
| ---   | ---  |
| i64   | u32  |
|-------|------|
| 1     | 2506 |
| 2     | 4566 |
| 3     | 2739 |
| 4     | 2922 |
Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

अभ्यास करते हैं!

Polars के साथ Data Pipelines का स्केलिंग और ऑप्टिमाइज़ेशन

Preparing Video For Download...