Likelihood to Recommend Apache Kafka is well-suited for most data-streaming use cases. Amazon Kinesis and Azure EventHubs, unless you have a specific use case where using those cloud PaAS for your data lakes, once set up well, Apache Kafka will take care of everything else in the background. Azure EventHubs, is good for cross-cloud use cases, and Amazon Kinesis - I have no real-world experience. But I believe it is the same.
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 Really easy to configure. I've used other message brokers such as RabbitMQ and compared to them, Kafka's configurations are very easy to understand and tweak. Very scalable: easily configured to run on multiple nodes allowing for ease of parallelism (assuming your queues/topics don't have to be consumed in the exact same order the messages were delivered) Not exactly a feature, but I trust Kafka will be around for at least another decade because active development has continued to be strong and there's a lot of financial backing from Confluent and LinkedIn, and probably many other companies who are using it (which, anecdotally, is many). 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 Sometimes it becomes difficult to monitor our Kafka deployments. We've been able to overcome it largely using AWS MSK, a managed service for Apache Kafka, but a separate monitoring dashboard would have been great. Simplify the process for local deployment of Kafka and provide a user interface to get visibility into the different topics and the messages being processed. Learning curve around creation of broker and topics could be simplified 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 Likelihood to Renew Kafka is quickly becoming core product of the organization, indeed it is replacing older messaging systems. No better alternatives found yet
Read full review Usability Apache Kafka is highly recommended to develop loosely coupled, real-time processing applications. Also, Apache Kafka provides property based configuration. Producer, Consumer and broker contain their own separate property file
Read full review Support Rating Support for Apache Kafka (if willing to pay) is available from Confluent that includes the same time that created Kafka at Linkedin so they know this software in and out. Moreover, Apache Kafka is well known and best practices documents and deployment scenarios are easily available for download. For example, from eBay, Linkedin, Uber, and NYTimes.
Read full review Alternatives Considered I used other messaging/queue solutions that are a lot more basic than Confluent Kafka, as well as another solution that is no longer in the market called Xively, which was bought and "buried" by Google. In comparison, these solutions offer way fewer functionalities and respond to other needs.
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 Positive: Get a quick and reliable pub/sub model implemented - data across components flows easily. Positive: it's scalable so we can develop small and scale for real-world scenarios Negative: it's easy to get into a confusing situation if you are not experienced yet or something strange has happened (rare, but it does). Troubleshooting such situations can take time and effort. 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