compared to presto, has more support than prestodb. Impala has limitations to what drill can support apache phoenix only supports for hbase. no support for cassandra.
vs MapRedce, it was faster and easier to manage. Especially for Machine Learning, where MapReduce is lacking. Also Apache Storm was slower and didn't scale as much as Spark does. Spark elasticity was easier to apply compared to storm and MapReduce. managing resources for …
if you're doing joins from hBASE, hdfs, cassandra and redis, then this works. Using it as a be all end all does not suit it. This is not your straight forward magic software that works for all scenarios. One needs to determine the use case to see if Apache Drill fits the needs. 3/4 of the time, usually it does.
Well suited: To most of the local run of datasets and non-prod systems - scalability is not a problem at all. Including data from multiple types of data sources is an added advantage. MLlib is a decently nice built-in library that can be used for most of the ML tasks. Less appropriate: We had to work on a RecSys where the music dataset that we used was around 300+Gb in size. We faced memory-based issues. Few times we also got memory errors. Also the MLlib library does not have support for advanced analytics and deep-learning frameworks support. Understanding the internals of the working of Apache Spark for beginners is highly not possible.
if Presto comes up with more support (ie hbase, s3), then its strongly possible that we'll move from apache drill to prestoDB. However, Apache drill needs more configuration ease, especially when it comes to garbage collection tuning. If apache drill could support also sparkSQL and Flume, then it does change drill into being something more valuable than prestoDB
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
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.
compared to presto, has more support than prestodb. Impala has limitations to what drill can support apache phoenix only supports for hbase. no support for cassandra. Apache drill was chosen, because of the multiple data stores that it supports htat the other 3 do not support. Presto does not support hbase as of yet. Impala does not support query to cassandra
Spark in comparison to similar technologies ends up being a one stop shop. You can achieve so much with this one framework instead of having to stitch and weave multiple technologies from the Hadoop stack, all while getting incredibility performance, minimal boilerplate, and getting the ability to write your application in the language of your choosing.