Did you actually read the article? It was using Spark to parallelize hyperparameter tuning, which is embarrassingly parallel.
urls = sc.parallelize(batched_data)
labelled_images = urls.flatMap(apply_batch)
So if you already have a cluster with Spark installed (like Databrick does) then it takes less work to just call your Python code than setting up a GNU Parallel cluster and a writing a small wrapper script. Additionally a Python script would have to load/init the models on every call from Parallel. I agree that this is not a great demonstration of Spark main strengths.Another reason is, perhaps, scheduling.