Practice
Real PySpark, graded in seconds. Pick a problem and hit Run.
- Combine the Regionseasystacking and dedupingunionByNameunion
- Daily Ride CounteasyaggregationsgroupBycount
- Distinct BuyerseasyaggregationscountDistinctgroupBy
- Everyone's Planeasyjoinsjoinleft
- Fill the Blankseasynulls and conditionscoalescenullslit
- Flag the Long Rideseasyselecting and filteringwithColumnbooleancolumn-expressions
- Has an Emaileasynulls and conditionsisNotNullfilter
- Large and In Chargeeasyselecting and filteringfilterselectcolumn-expressions
- Long Visitseasyselecting and filteringfilterselect
- Name That Producteasyjoinsjoininner
- Not Paid in Casheasynulls and conditionsnullsisNullfilter
- Orders in Marcheasyparsing datesto_daterliketruncfilter
- Priciest Per CategoryeasyaggregationsgroupBymax
- Rename the Hitseasyselecting and filteringselectaliascolumn-expressions
- Revenue Per StoreeasyaggregationsgroupBysum
- The Filter That Did Nothingeasyspark mental modellazy-evaluationimmutabilitywithColumnfilter
- Tidy the Nameseasycleaning texttrimupperwithColumn
- Unique Listenerseasystacking and dedupingdistinctselect
- Barista AveragesmediumaggregationsgroupByavghavingfloat-tolerance
- Basket Contentsmediumaggregationscollect_setsort_arraygroupBy
- Best Seller Per Storemediumwindow functionswindowrow_numbertop-1
- Clean Phone Digitsmediumcleaning textregexp_replace
- Count the Refundsmediumaggregationsconditional-aggregationwhensum
- Day Over Daymediumwindows over timewindowlag
- Dense Standingsmediumwindow functionswindowdense_rankties
- Ghosted Customersmediumjoinsjoinleft_anti
- Match on Two Keysmediumjoinsjoinmulti-key
- Membership Lengthmediumparsing datesdatediffto_date
- Plays Per Monthmediumaggregationsto_datemonthgroupBy
- Spend by NamemediumjoinsjoingroupBysum
- Store-Day RevenuemediumaggregationsgroupBymulti-keysum
- Tag Explosionmediumlong and widesplitexplodegroupBy
- The Store-Month Gridmediumlong and widepivotgroupBysum
- Tip-Top Baristasmediumselecting and filteringwithColumnfilteraliasfloat-math
- Who Ordered Whatmediumjoinsjoininner
- Who Reports to Whommediumjoinsjoinself-joinalias
- Chart-Toppershardwindow functionswindowrow_numbertop-npartitionBy
- Latest Order Per Customerhardwindow functionswindowrow_numberjoinrecency
- Running Revenuehardwindows over timewindowrunning-totalcumulative-sumrowsBetween
- Sessionize the Streakshardwindows over timewindowlagcumulative-sumsessionization
- Status Breakdown Gridhardlong and widepivotcountfillna
- The Phantom Watchershardnulls and conditionsnullscoalescewhen-otherwisefilterchained-conditions
- Three-Day Moving Averagehardwindows over timewindowmoving-averagerowsBetween
- Top Two, Ties Includedhardwindow functionswindowrankties