r/aws•
201jon

What is the ubiquitous way to do “embarrassingly parallel” computing on AWS with a large amount of data?

discussion

I’ve looked into a number of different AWS services that can massively distribute parts of a large data set to many machines for computation. So far I have looked into Lambdas, Elastic MapReduce, and just managing EC2 instanced on my own.

Managing my own instances is not appealing as I do not want to incur the development costs of handling faulty instances, retrying, etc. Lambdas initially appeared promising but the size of my problem is too large, so that’s a no-go. EMR looks like the way to go, but I’ve heard mixed things about Hadoop MapReduce (main criticisms being its slow and hard to program).

I want to understand what the industry standard service is for my use case. For context, I have a huge amount of data over a twenty year period, and I want to do independent statistical analysis (regression) on every single day using R. Data size within each day is large, but could maybe fit into memory on large EC2 instances. Think of a data frame with 12000 variables and 120000 observations.

Any direction from those in the know would be greatly appreciated.

Posted May 11, 2019, 11:50 PM UTC

35
Quinnypig•

Normalize the data first, then figure out what your analysis looks like. S3 select, Athena, S3 batch operations, importing into Redshift, using Glue to get it into something more manageable... there are a lot of options here.

4
kichik•

Sounds like you're looking for Spark on EMR. It even supports R.

4
kackstifterich•

EMR and Apache Spark.

Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general execution graphs. It also supports a rich set of higher-level tools including Spark SQL for SQL and structured data processing, MLlib for machine learning, GraphX for graph processing, and Spark Streaming.

3
pint•

i used batch over a fargate cluster for such a task. once you get the gist of it, and once you manage to put your thing into a docker image, the rest is a walk in the cake.

1
Skaperen•

if R can work with GPUs that would be the way to go for massive parallel such as p3 instance types.

1