Hi Akhil, It works fine when outprefix is a hdfs:///localhost/... url.
It looks to me as if there is something about spark writing to the same s3 bucket it is reading from. That is the only real difference between the 2 saveAsTextFile whet outprefix is on s3, inpath is also on s3 but in a different bucket, but jsonRaw and jsonClean are distinct directories in the same bucket. I do know know why that should be a problem though. I will rerun using s3 paths and send the log information. thanks Daniel thanks Daniel On Wed, Apr 22, 2015 at 1:45 AM, Akhil Das <ak...@sigmoidanalytics.com> wrote: > Can you look in your worker logs and see whats happening in there? Are you > able to write the same to your HDFS? > > Thanks > Best Regards > > On Wed, Apr 22, 2015 at 4:45 AM, Daniel Mahler <dmah...@gmail.com> wrote: > >> I am having a strange problem writing to s3 that I have distilled to this >> minimal example: >> >> def jsonRaw = s"${outprefix}-json-raw" >> def jsonClean = s"${outprefix}-json-clean" >> >> val txt = sc.textFile(inpath)//.coalesce(shards, false) >> txt.count >> >> val res = txt.saveAsTextFile(jsonRaw) >> >> val txt2 = sc.textFile(jsonRaw +"/part-*") >> txt2.count >> >> txt2.saveAsTextFile(jsonClean) >> >> This code should simply copy files from inpath to jsonRaw and then from >> jsonRaw to jsonClean. >> This code executes all the way down to the last line where it hangs after >> creating the output directory contatining a _temporary_$folder but no >> actual files not even temporary ones. >> >> `outputprefix` is and bucket url, both jsonRaw and jsonClean are in the >> same bucket. >> Both calls .count succeed and return the same number. This means Spark >> can read from inpath and can both read from and write to jsonRaw. Since >> jsonClean is in the same bucket as jsonRaw and the final line does create >> the directory, I cannot think of any reason why the files should not be >> written. If there were any access or url problems they should already >> manifest when writing jsonRaw. >> >> This problem is completely reproduceable with Spark 1.2.1 and 1.3.1 >> The console output from the last line is >> >> scala> txt0.saveAsTextFile(jsonClean) >> 15/04/21 22:55:48 INFO storage.BlockManager: Removing broadcast 3 >> 15/04/21 22:55:48 INFO storage.BlockManager: Removing block >> broadcast_3_piece0 >> 15/04/21 22:55:48 INFO storage.MemoryStore: Block broadcast_3_piece0 of >> size 2024 dropped from memory (free 278251716) >> 15/04/21 22:55:48 INFO storage.BlockManagerInfo: Removed >> broadcast_3_piece0 on ip-10-51-181-81.ec2.internal:45199 in memory (size: >> 2024.0 B, free: 265.4 MB) >> 15/04/21 22:55:48 INFO storage.BlockManagerMaster: Updated info of block >> broadcast_3_piece0 >> 15/04/21 22:55:48 INFO storage.BlockManager: Removing block broadcast_3 >> 15/04/21 22:55:48 INFO storage.MemoryStore: Block broadcast_3 of size >> 2728 dropped from memory (free 278254444) >> 15/04/21 22:55:48 INFO storage.BlockManagerInfo: Removed >> broadcast_3_piece0 on ip-10-166-129-153.ec2.internal:46671 in memory (size: >> 2024.0 B, free: 13.8 GB) >> 15/04/21 22:55:48 INFO storage.BlockManagerInfo: Removed >> broadcast_3_piece0 on ip-10-51-153-34.ec2.internal:51691 in memory (size: >> 2024.0 B, free: 13.8 GB) >> 15/04/21 22:55:48 INFO storage.BlockManagerInfo: Removed >> broadcast_3_piece0 on ip-10-158-142-155.ec2.internal:54690 in memory (size: >> 2024.0 B, free: 13.8 GB) >> 15/04/21 22:55:48 INFO storage.BlockManagerInfo: Removed >> broadcast_3_piece0 on ip-10-61-144-7.ec2.internal:44849 in memory (size: >> 2024.0 B, free: 13.8 GB) >> 15/04/21 22:55:48 INFO storage.BlockManagerInfo: Removed >> broadcast_3_piece0 on ip-10-69-77-180.ec2.internal:42417 in memory (size: >> 2024.0 B, free: 13.8 GB) >> 15/04/21 22:55:48 INFO spark.ContextCleaner: Cleaned broadcast 3 >> 15/04/21 22:55:49 INFO spark.SparkContext: Starting job: saveAsTextFile >> at <console>:38 >> 15/04/21 22:55:49 INFO scheduler.DAGScheduler: Got job 2 (saveAsTextFile >> at <console>:38) with 96 output partitions (allowLocal=false) >> 15/04/21 22:55:49 INFO scheduler.DAGScheduler: Final stage: Stage >> 2(saveAsTextFile at <console>:38) >> 15/04/21 22:55:49 INFO scheduler.DAGScheduler: Parents of final stage: >> List() >> 15/04/21 22:55:49 INFO scheduler.DAGScheduler: Missing parents: List() >> 15/04/21 22:55:49 INFO scheduler.DAGScheduler: Submitting Stage 2 >> (MapPartitionsRDD[5] at saveAsTextFile at <console>:38), which has no >> missing parents >> 15/04/21 22:55:49 INFO storage.MemoryStore: ensureFreeSpace(22248) called >> with curMem=48112, maxMem=278302556 >> 15/04/21 22:55:49 INFO storage.MemoryStore: Block broadcast_4 stored as >> values in memory (estimated size 21.7 KB, free 265.3 MB) >> 15/04/21 22:55:49 INFO storage.MemoryStore: ensureFreeSpace(17352) called >> with curMem=70360, maxMem=278302556 >> 15/04/21 22:55:49 INFO storage.MemoryStore: Block broadcast_4_piece0 >> stored as bytes in memory (estimated size 16.9 KB, free 265.3 MB) >> 15/04/21 22:55:49 INFO storage.BlockManagerInfo: Added broadcast_4_piece0 >> in memory on ip-10-51-181-81.ec2.internal:45199 (size: 16.9 KB, free: 265.4 >> MB) >> 15/04/21 22:55:49 INFO storage.BlockManagerMaster: Updated info of block >> broadcast_4_piece0 >> 15/04/21 22:55:49 INFO spark.SparkContext: Created broadcast 4 from >> broadcast at DAGScheduler.scala:839 >> 15/04/21 22:55:49 INFO scheduler.DAGScheduler: Submitting 96 missing >> tasks from Stage 2 (MapPartitionsRDD[5] at saveAsTextFile at <console>:38) >> 15/04/21 22:55:49 INFO scheduler.TaskSchedulerImpl: Adding task set 2.0 >> with 96 tasks >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 0.0 in >> stage 2.0 (TID 192, ip-10-166-129-153.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 1.0 in >> stage 2.0 (TID 193, ip-10-61-144-7.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 2.0 in >> stage 2.0 (TID 194, ip-10-158-142-155.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 3.0 in >> stage 2.0 (TID 195, ip-10-69-77-180.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 4.0 in >> stage 2.0 (TID 196, ip-10-51-153-34.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 5.0 in >> stage 2.0 (TID 197, ip-10-166-129-153.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 6.0 in >> stage 2.0 (TID 198, ip-10-61-144-7.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 7.0 in >> stage 2.0 (TID 199, ip-10-158-142-155.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 8.0 in >> stage 2.0 (TID 200, ip-10-69-77-180.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 9.0 in >> stage 2.0 (TID 201, ip-10-51-153-34.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 10.0 in >> stage 2.0 (TID 202, ip-10-166-129-153.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 11.0 in >> stage 2.0 (TID 203, ip-10-61-144-7.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 12.0 in >> stage 2.0 (TID 204, ip-10-158-142-155.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 13.0 in >> stage 2.0 (TID 205, ip-10-69-77-180.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 14.0 in >> stage 2.0 (TID 206, ip-10-51-153-34.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 15.0 in >> stage 2.0 (TID 207, ip-10-166-129-153.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 16.0 in >> stage 2.0 (TID 208, ip-10-61-144-7.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 17.0 in >> stage 2.0 (TID 209, ip-10-158-142-155.ec2.internal, PROCESS_LOCAL, 1377 >> bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 18.0 in >> stage 2.0 (TID 210, ip-10-69-77-180.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO scheduler.TaskSetManager: Starting task 19.0 in >> stage 2.0 (TID 211, ip-10-51-153-34.ec2.internal, PROCESS_LOCAL, 1377 bytes) >> 15/04/21 22:55:49 INFO storage.BlockManagerInfo: Added broadcast_4_piece0 >> in memory on ip-10-61-144-7.ec2.internal:44849 (size: 16.9 KB, free: 13.8 >> GB) >> 15/04/21 22:55:49 INFO storage.BlockManagerInfo: Added broadcast_4_piece0 >> in memory on ip-10-69-77-180.ec2.internal:42417 (size: 16.9 KB, free: 13.8 >> GB) >> 15/04/21 22:55:49 INFO storage.BlockManagerInfo: Added broadcast_4_piece0 >> in memory on ip-10-158-142-155.ec2.internal:54690 (size: 16.9 KB, free: >> 13.8 GB) >> 15/04/21 22:55:49 INFO storage.BlockManagerInfo: Added broadcast_4_piece0 >> in memory on ip-10-166-129-153.ec2.internal:46671 (size: 16.9 KB, free: >> 13.8 GB) >> 15/04/21 22:55:49 INFO storage.BlockManagerInfo: Added broadcast_4_piece0 >> in memory on ip-10-51-153-34.ec2.internal:51691 (size: 16.9 KB, free: 13.8 >> GB) >> >> This feels like I am missing something really basic. >> >> thanks >> Daniel >> > >