Oracle Data Integrator is an ELT data integrator designed with interoperability other Oracle programs. The program focuses on a high-performance capacity to support Big Data use within Oracle.
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.
Oracle Data Integrator is well suited in all the situations where you need to integrate data from and to different systems/technologies/environments or to schedule some tasks. I've used it on Oracle Database (Data Warehouses or Data Marts), with great loading and transforming performances to accomplish any kind of relational task. This is true for all Oracle applications (like Hyperion Planning, Hyperion Essbase, Hyperion Financial Management, and so on). I've also used it to manage files on different operating systems, to execute procedures in various languages and to read and write data from and to non-Oracle technologies, and I can confirm that its performances have always been very good. It can become less appropriate depending on the expenses that can be afforded by the customer since its license costs are quite high.
Oracle Data Integrator nearly addresses every data issue that one can expect. Oracle Data Integrator is tightly integrated to the Oracle Suite of products. This is one of the major strengths of Oracle Data Integrator. Oracle Data Integrator is part of the Oracle Business Intelligence Applications Suite - which is highly used by various industries. This tool replaced Informatica ETL in Oracle Business Intelligence Applications Suite.
Oracle Data Integrator comes with many pre-written data packages. If one has to load data from Excel to Oracle Database, there is a package that is ready available for them - cutting down lot of effort on writing the code. Similarly, there are packages for Oracle to SQL, SQL to Oracle and all other possible combinations. Developers love this feature.
Oracle Data Integrator relies highly on the database for processing. This is actually an ELT tool rather than an ETL tool. It first loads all the data into target instance and then transforms it at the expense of database resources. This light footprint makes this tool very special.
The other major advantage of Oracle Data Integrator, like any other Oracle products, is a readily available developer pool. As all Oracle products are free to download for demo environments, many organizations prefer to play around with a product before purchasing it. Also, Oracle support and community is a big advantage compared to other vendors.
ODI does not have an intuitive user interface. It is powerful, but difficult to figure out at first. There is a significant learning curve between usability, proficiency, and mastery of the tool.
ODI contains some frustrating bugs. It is Java based and has some caching issues, often requiring you to restart the program before you see your code changes stick.
ODI does not have a strong versioning process. It is not intuitive to keep an up to date repository of versioned code packages. This can create versioning issues between environments if you do not have a strong external code versioning process.
It is maturing and over time will have a good pool of resources. Each new version has addressed the issues of the previous ones. Its getting better and bigger.
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.
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.
I have used Trifacta Google Data Prep quite a bit. We use Google Cloud Platform across our organization. The tools are very comparable in what they offer. I would say Data Prep has a slight edge in usability and a cleaner UI, but both of the tools have comparable toolsets.