Likelihood to Recommend Apache Pig is best suited for ETL-based data processes. It is good in performance in handling and analyzing a large amount of data. it gives faster results than any other similar tool. It is easy to implement and any user with some initial training or some prior SQL knowledge can work on it. Apache Pig is proud to have a large community base globally.
Read full review Sqoop is great for sending data between a JDBC compliant database and a
Hadoop environment. Sqoop is built for those who need a few simple CLI options to import a selection of database tables into
Hadoop , do large dataset analysis that could not commonly be done with that database system due to resource constraints, then export the results back into that database (or another). Sqoop falls short when there needs to be some extra, customized processing between database extract, and
Hadoop loading, in which case
Apache Spark 's JDBC utilities might be preferred
Read full review Pros Its performance, ease of use, and simplicity in learning and deployment. Using this tool, we can quickly analyze large amounts of data. It's adequate for map-reducing large datasets and fully abstracted MapReduce. Read full review Provides generalized JDBC extensions to migrate data between most database systems Generates Java classes upon reading database records for use in other code utilizing Hadoop's client libraries Allows for both import and export features Read full review Cons UDFS Python errors are not interpretable. Developer struggles for a very very long time if he/she gets these errors. Being in early stage, it still has a small community for help in related matters. It needs a lot of improvements yet. Only recently they added datetime module for time series, which is a very basic requirement. Read full review Sqoop2 development seems to have stalled. I have set it up outside of a Cloudera CDH installation, and I actually prefer it's "Sqoop Server" model better than just the CLI client version that is Sqoop1. This works especially well in a microservices environment, where there would be only one place to maintain the JDBC drivers to use for Sqoop. Read full review Usability It is quick, fast and easy to implement Apache Pig which makes is quite popular to be used.
Read full review Support Rating The documentation is adequate. I'm not sure how large of an external community there is for support.
Read full review Alternatives Considered Apache Pig might help to start things faster at first and it was one of the best tool years back but it lacks important features that are needed in the data engineering world right now. Pig also has a steeper learning curve since it uses a proprietary language compared to Spark which can be coded with Python, Java.
Read full review Sqoop comes preinstalled on the major Hadoop vendor distributions as the recommended product to import data from relational databases. The ability to extend it with additional JDBC drivers makes it very flexible for the environment it is installed within. Spark also has a useful JDBC reader, and can manipulate data in more ways than Sqoop, and also upload to many other systems than just Hadoop . Kafka Connect JDBC is more for streaming database updates using tools such as Oracle GoldenGate or Debezium. Streamsets and Apache NiFi both provide a more "flow based programming" approach to graphically laying out connectors between various systems, including JDBC and Hadoop . Read full review Return on Investment Higher learning curve than other similar technologies so on-boarding new engineers or change ownership of Apache Pig code tends to be a bit of a headache Once the language is learned and understood it can be relatively straightforward to write simple Pig scripts so development can go relatively quickly with a skilled team As distributed technologies grow and improve, overall Apache Pig feels left in the dust and is more legacy code to support than something to actively develop with. Read full review When combined with Cloudera's HUE, it can enable non-technical users to easily import relational data into Hadoop. Being able to manipulate large datasets in Hadoop, and them load them into a type of "materialized view" in an external database system has yielded great insights into the Hadoop datalake without continuously running large batch jobs. Sqoop isn't very user-friendly for those uncomfortable with a CLI. Read full review ScreenShots