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.
The same way you design data integration job can be used to design services. It is easy to enhance by custom components and can adapt to all requirements. Talend Data Integration connects to [a] multitude of data sources and streaming service. Very easy interface to design complex applications without spending much time on coding. Easy to learn and master. Talend constantly strives to better itself by adding more features and functionalities.
We used Talend to ETLing the data from myriad sources such Oracle Database, Clarify, Salesforce, Sugar CRM, SQL DB, MQ, Stibo Step, FTP, Netezza, and Files.
We leverage Talend transformation capabilities for stitching the data , unions and join
We successfully created the final unified set that can be used by business
The only thing I dislike about spark's usability is the learning curve, there are many actions and transformations, however, its wide-range of uses for ETL processing, facility to integrate and it's multi-language support make this library a powerhouse for your data science solutions. It has especially aided us with its lightning-fast processing times.
We use Talend Data Integration day in and day out. It is the best and easiest tool to jump on to and use. We can build a basic integration super-fast. We could build basic integrations as fast as within the hour. It is also easy to build transformations and use Java to perform some operations.
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.
Good support, specially when it relates to PROD environment. The support team has access to the product development team. Things are internally escalated to development team if there is a bug encountered. This helps the customer to get quick fix or patch designed for problem exceptions. I have also seen support showing their willingness to help develop custom connector for a newly available cloud based big data solution
All the above systems work quite well on big data transformations whereas Spark really shines with its bigger API support and its ability to read from and write to multiple data sources. Using Spark one can easily switch between declarative versus imperative versus functional type programming easily based on the situation. Also it doesn't need special data ingestion or indexing pre-processing like Presto. Combining it with Jupyter Notebooks (https://github.com/jupyter-incubator/sparkmagic), one can develop the Spark code in an interactive manner in Scala or Python
In comparison with the other ETLs I used, Talend is more flexible than Data Services (where you cannot create complex commands). It is similar to Datastage speaking about commands and interfaces. It is more user-friendly than ODI, which has a metadata point of view on its own, while Talend is more classic. It has both on-prem and cloud approaches, while Matillion is only cloud-based.
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.
It’s only been a positive RoI with Talend given we’ve interfaced large datasets between critical on-Prem and cloud-native apps to efficiently run our business operations.