Live data from Hacker News

Apache Flink

github.com

51–60 of 65 posts

Re: Apache Flink

#51
post #46

Controversial opinion here, but all of these distributed streaming architectures are massively overused. They certainly have their place, but you probably don't need them. I see it all the time with ML work. You wind up using a cluster to overcome the memory inefficiency of Spark, when you could have just used a single machine. For example, I've done huge graph clustering models on a single machine just by being smar…

I've seen the opposite in our company. We did some data science, on a data that wasn't that big, but big enough to not fit into one machine. Everyone was reluctant to move to Spark, so data-scientists computed their models over subset of data: one day instead of one week of data. And after the project finished, and passed to client, they realized that subset was not representative enough to meet the criteria. Of cour…

Well, two things there -

First, the case you describe is one that's covered by using Spark for batch processing. Parent was criticizing using it and other tools for stream processing. The two are very different use cases.

Second, just gotta call out that 2nd paragraph. A qualified data scientist should have a solid training in statistics. And someone who has a solid training in statistics should rarely if ever make the assumption that one day is representative of the whole week in the first place, regardless of whether they subsequently check that assumption. They would probably start with the presumption that one day is not representative of the whole week, because that is self-evidently going to be near-universally the case for any data that measures something about human behavior.

Re: Apache Flink

#52
post #4

Apache Flink, Flume, Storm, Samza, Spark, Apex, and Kafka all do basically the same thing. I feel like this is a bit overboard. And this is before we talk about the non-Apache stream-processing frameworks out there. * Apache Flink is an open source stream processing framework * Apache Flume is a distributed, reliable, and available software for efficiently collecting, aggregating, and moving large amounts of log data…

As a frequent user of almost half the programs you've listed... I couldn't disagree more. They're completely different.

I'm surprised to see this level of misunderstanding posted with such confidence.

Re: Apache Flink

#53
post #6
post #5

Earlier quoted context omitted.

> Apache Flink, Flume, Storm, Samza, Spark, Apex, and Kafka all do basically the same thing. Well, no, you went too far. Kafka is primarily used for communication & data transport, by most people (can be used in other ways, and it has the KafkaStreams library that enables you do to some computation on said data - but it is, primarily, a transport & communication mechanism; also maybe storage, if you squint right) Spa…

On the contrary, I didn't go far enough. I didn't talk about Apache Gearpump, NiFi, Beam, Ignite, or Trident. I know there are subtle differences in each specific technology, and that's probably the same justifications used to support the thesis when building yet another very similar framework. > What's wrong with that? I believe it drastically reduces adoption of these tools because many of us avoid what appears to…

> I believe it drastically reduces adoption of these tools

I really don't see why. From afar they might appear to perform the same task but once you take a closer look you quickly realize they follow fundamentally different architectures and have significantly deployment and performance characteristics.

Just because there are all kinds of hammers, but there are also plenty of different uses, and even in the subset involving driving nails there are significant requirements.

Re: Apache Flink

#54

Earlier quoted context omitted.

No Hadoop does more than MapReduce, much more. Primarily: MapReduce does not have a distributed file-like block storage.

OK, so, to be more precise: Hadoop MapReduce does what Google MapReduce does, and Hadoop Distributed File System does what the Google Filesystem does. And Apache Spark does the same thing as that other Google product whose name I forget. And Drill vs Dremel, etc etc etc. I think that the OP is plenty right for the purposes of the point they were making. And I think (from a non-Googler's perspective) that it's a worth…

Apache Spark does what Google FlumeJava does, express a chain of map/reduce steps in a DSL (and inline away some intermediate results).

Apache Flume is unrelated except for the confusing name.

Re: Apache Flink

#55
post #13

AWS lets you uplod Flink programs to process to Kinesis streams, and Google Cloud also has support for Apache Beam

Yeah, or any other input. I don't think it's tied explicitly to Kinesis. This is definitely easier than other ways to deploy! EMR also has Flink as an option.

Re: Apache Flink

#57
post #4

Apache Flink, Flume, Storm, Samza, Spark, Apex, and Kafka all do basically the same thing. I feel like this is a bit overboard. And this is before we talk about the non-Apache stream-processing frameworks out there. * Apache Flink is an open source stream processing framework * Apache Flume is a distributed, reliable, and available software for efficiently collecting, aggregating, and moving large amounts of log data…

As a frequent user of almost half the programs you've listed... I couldn't disagree more. They're completely different. I'm surprised to see this level of misunderstanding posted with such confidence.

It makes you wonder about some of the other insightful sounding top comments on topics that you aren't as well versed in

Re: Apache Flink

#58
post #46

Earlier quoted context omitted.

I've seen the opposite in our company. We did some data science, on a data that wasn't that big, but big enough to not fit into one machine. Everyone was reluctant to move to Spark, so data-scientists computed their models over subset of data: one day instead of one week of data. And after the project finished, and passed to client, they realized that subset was not representative enough to meet the criteria. Of cour…

Well, two things there - First, the case you describe is one that's covered by using Spark for batch processing. Parent was criticizing using it and other tools for stream processing. The two are very different use cases. Second, just gotta call out that 2nd paragraph. A qualified data scientist should have a solid training in statistics. And someone who has a solid training in statistics should rarely if ever make t…

Right, for batch models and training evaluation.

Re. assumptions -- it all depends on the data. If your data, say, collection of bird songs on Galapagos, then assuming there's correlation between day-of-week is counter productive. If a data scientist says me that they need to spend a day or two checking that assumption is correct, then I would look for a more productive scientist. Time to market is critical.

And there are many of such assumptions in every project, just try to do something, anything with data science checking every assumption you make. Basically as I said above, you won't get far.

By the way, majority of statistics theorems start with "take N independently distributed variables". In real world nothing is independent, but we still make useful predictions.

Re: Apache Flink

#59

What's the easiest way to get started with trying Apache Kafka/Spark/Flink on the cloud? If I want to try out Redis there's RedisLabs, CloudAMQP for RabbitMQ, Compose for Postgres/Redis/RabbitMQ, offerings like Google Cloud SQL/MemoryStore and AWS RDS/ElastiCache, etc. Where do I go for some easy Apache deployments?

Google cloud has "one-click" installation of integrated 3rd-party solutions. Never tried that though.

Re: Apache Flink

#60
post #58

Earlier quoted context omitted.

Well, two things there - First, the case you describe is one that's covered by using Spark for batch processing. Parent was criticizing using it and other tools for stream processing. The two are very different use cases. Second, just gotta call out that 2nd paragraph. A qualified data scientist should have a solid training in statistics. And someone who has a solid training in statistics should rarely if ever make t…

Right, for batch models and training evaluation. Re. assumptions -- it all depends on the data. If your data, say, collection of bird songs on Galapagos, then assuming there's correlation between day-of-week is counter productive. If a data scientist says me that they need to spend a day or two checking that assumption is correct, then I would look for a more productive scientist. Time to market is critical. And ther…

Birdsong actually isn't a good example, because birds sing less the more noise there is. If there is more activity during certain days of the week, it will be biased. You really can't predict these kind of correlations ahead of time, which is why it is always critical that your data is not collected in a biased way. The data scientists should have randomly subsampled from each day of the week. This is extremely common practice, and there's nothing wrong with it if the subsampled data gives acceptably credible results.

I've never heard of people only using certain days of the week. As a practicing and productive data scientist, that sounds completely insane to me. I would never hire a data scientist who does not understand why such practices are bad.

Data scientist is just a buzzy name for statistician. Data scientists who do not understand basic good statistical techniques are not competent.

Post reply on HN