Apache Spark has rich APIs for regular data transformations or for ML workloads or for graph workloads, whereas other systems may not such a wide range of support. Choose it when you need to perform data transformations for big data as offline jobs, whereas use MongoDB-like distributed database systems for more realtime queries.
For writing out longer code creation for shaping data on complicated reports, the clean UI is helpful. If exploring data though, SAS Studio would be better suited given its easier interface for GUI graph building.
It performs a conventional disk-based process when the data sets are too large to fit into memory, which is very useful because, regardless of the size of the data, it is always possible to store them.
It has great speed and ability to join multiple types of databases and run different types of analysis applications. This functionality is super useful as it reduces work times
Apache Spark uses the data storage model of Hadoop and can be integrated with other big data frameworks such as HBase, MongoDB, and Cassandra. This is very useful because it is compatible with multiple frameworks that the company has, and thus allows us to unify all the processes.
I would like to see advance interactions with external databases to be able to kill ongoing queries from SAS. As of now, you can stop pretty much any ongoing process besides the one running on a remote database (killing SAS/EG doesn't stop the remote process)
When creating prompts for programs, it would be nice to be able to have conditional prompts (based on the selection of other prompts). The prompts are clearly a recent feature and constantly under development but I wish it would be more powerful.
More of a SAS metadata issue but when loading SAS/EG (first connection to the server), it takes a few seconds which feels like a long time. I really don't understand why the initialization of the session can take so long. Don't get me wrong, this has no real impact on productivity but that 10s delay just feels really like eternity when you want to run some code in a new session.
If the team looking to use Apache Spark is not used to debug and tweak settings for jobs to ensure maximum optimizations, it can be frustrating. However, the documentation and the support of the community on the internet can help resolve most issues. Moreover, it is highly configurable and it integrates with different tools (eg: it can be used by dbt core), which increase the scenarios where it can be used
It's not all bad, but I don't believe that an enterprise purchase of SAS is worth the expense considering the widely available set of tools in the data analytics space at the moment. In my company, it's a good tool because others use it. Otherwise, I wouldn't purchase a new set of it because it doesn't have some of the better analytical functions in it.
1. It integrates very well with scala or python. 2. It's very easy to understand SQL interoperability. 3. Apache is way faster than the other competitive technologies. 4. The support from the Apache community is very huge for Spark. 5. Execution times are faster as compared to others. 6. There are a large number of forums available for Apache Spark. 7. The code availability for Apache Spark is simpler and easy to gain access to. 8. Many organizations use Apache Spark, so many solutions are available for existing applications.
Although I use SAS support for information on functions, these are SAS related and haven't really come across anything that is specifically for SAS EG.
I've not worked hands-on with the implementation team, but there were no escalations barring a few hiccups in the deployment due to change in requirement & adoption to our company's remote servers.
We used Surprise Kit for one of the other research works. It is more fine-tuned to Recommendation systems and their algorithms. Apache Spark has MLlib for majority of ML problems. Where as software like Surprse Kit - it suitable for a specific task of Recommendations only
Python-based platforms like Pandas or Spark are very good too at displaying data and do exploratory analysis. I definitely prefer them to SAS EG. It's just too slow, and doesn't let you peek into the data very easily. Lots of clicking, and I'd rather just write some code, rather do clicking.
Faster turn around on feature development, we have seen a noticeable improvement in our agile development since using Spark.
Easy adoption, having multiple departments use the same underlying technology even if the use cases are very different allows for more commonality amongst applications which definitely makes the operations team happy.
Performance, we have been able to make some applications run over 20x faster since switching to Spark. This has saved us time, headaches, and operating costs.