The latter would be faster. With S3, you want to maximize number of concurrent readers until you hit your network throughput limits.
On Wed, Feb 4, 2015 at 6:20 AM, Peter Rudenko <petro.rude...@gmail.com> wrote: > Hi if i have a 10GB file on s3 and set 10 partitions, would it be > download whole file on master first and broadcast it or each worker would > just read it's range from the file? > > Thanks, > Peter > > On 2015-02-03 23:30, Sven Krasser wrote: > > Hey Joe, > > With the ephemeral HDFS, you get the instance store of your worker nodes. > For m3.xlarge that will be two 40 GB SSDs local to each instance, which are > very fast. > > For the persistent HDFS, you get whatever EBS volumes the launch script > configured. EBS volumes are always network drives, so the usual limitations > apply. To optimize throughput, you can use EBS volumes with provisioned > IOPS and you can use EBS optimized instances. I don't have hard numbers at > hand, but I'd expect this to be noticeably slower than using local SSDs. > > As far as only using S3 goes, it depends on your use case (i.e. what you > plan on doing with the data while it is there). If you store it there in > between running different applications, you can likely work around > consistency issues. > > Also, if you use Amazon's EMRFS to access data in S3, you can use their > new consistency feature ( > https://aws.amazon.com/blogs/aws/emr-consistent-file-system/). > > Hope this helps! > -Sven > > > On Tue, Feb 3, 2015 at 9:32 AM, Joe Wass <jw...@crossref.org> wrote: > >> The data is coming from S3 in the first place, and the results will be >> uploaded back there. But even in the same availability zone, fetching 170 >> GB (that's gzipped) is slow. From what I understand of the pipelines, >> multiple transforms on the same RDD might involve re-reading the input, >> which very quickly add up in comparison to having the data locally. Unless >> I persisted the data (which I am in fact doing) but that would involve >> storing approximately the same amount of data in HDFS, which wouldn't fit. >> >> Also, I understood that S3 was unsuitable for practical? See "Why you >> cannot use S3 as a replacement for HDFS"[0]. I'd love to be proved wrong, >> though, that would make things a lot easier. >> >> [0] http://wiki.apache.org/hadoop/AmazonS3 >> >> >> >> On 3 February 2015 at 16:45, David Rosenstrauch <dar...@darose.net> >> wrote: >> >>> You could also just push the data to Amazon S3, which would un-link the >>> size of the cluster needed to process the data from the size of the data. >>> >>> DR >>> >>> >>> On 02/03/2015 11:43 AM, Joe Wass wrote: >>> >>>> I want to process about 800 GB of data on an Amazon EC2 cluster. So, I >>>> need >>>> to store the input in HDFS somehow. >>>> >>>> I currently have a cluster of 5 x m3.xlarge, each of which has 80GB >>>> disk. >>>> Each HDFS node reports 73 GB, and the total capacity is ~370 GB. >>>> >>>> If I want to process 800 GB of data (assuming I can't split the jobs >>>> up), >>>> I'm guessing I need to get persistent-hdfs involved. >>>> >>>> 1 - Does persistent-hdfs have noticeably different performance than >>>> ephemeral-hdfs? >>>> 2 - If so, is there a recommended configuration (like storing input and >>>> output on persistent, but persisted RDDs on ephemeral?) >>>> >>>> This seems like a common use-case, so sorry if this has already been >>>> covered. >>>> >>>> Joe >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@spark.apache.org >>> For additional commands, e-mail: user-h...@spark.apache.org >>> >>> >> > > > -- > http://sites.google.com/site/krasser/?utm_source=sig > > >