M2M:云计算中的Matlab到MapReduce简易转换器

0 下载量 36 浏览量 更新于2024-08-26 收藏 735KB PDF 举报
"M2M是针对云计算的一种简单Matlab到MapReduce的转换器,旨在帮助传统程序员通过将顺序代码转化为MapReduce代码轻松部署应用程序到云系统。" 文章详细介绍了M2M,这是一个专为云计算设计的Matlab到MapReduce的翻译工具。MapReduce作为一种流行的并行编程模型,在云计算平台上广泛应用,已成为处理大规模数据的有效手段,它利用计算机集群来处理大数据。然而,传统的程序员可能不熟悉MapReduce,因此X-to-MapReduce(X代表任何程序语言)的转换器提供了一个解决方案,使他们能够通过将熟悉的代码语言转换成MapReduce代码来适应云环境。 近年来,出现了如SQL-to-MapReduce的转换器,这些工具能将类似SQL的查询语句转换成MapReduce代码,并在云系统中表现出良好的性能。但这些转换器主要关注的是SQL类查询,而非数值计算。而Matlab是一种高级语言和交互式环境,特别适合数值计算、可视化和编程,尤其在工程领域广受欢迎。 鉴于此,研究者提出并开发了M2M,这个简单Matlab-to-MapReduce的转换器,专门针对基本的数值计算任务。M2M的目标是让Matlab用户能够利用其已有的编程技能,无缝地将Matlab代码转换成可在云环境中高效运行的MapReduce作业。通过这种方式,科学家和工程师可以利用云计算的强大计算能力,处理那些在单机环境下难以完成的大规模数值计算任务。 M2M的实现可能涉及到对Matlab语法的解析,以及将Matlab的计算逻辑映射到MapReduce的Map和Reduce阶段。转换过程可能包括识别Matlab中的循环、数组操作和函数调用等,并将其转化为MapReduce可以理解的操作。同时,为了保持高效,M2M还需要考虑数据分发、并行处理和结果聚合等MapReduce的关键特性。 该研究强调了M2M在简化云计算接口,促进科学计算领域采用云服务方面的重要作用。通过提供这样一个工具,科研人员和工程师无需深入学习MapReduce的底层细节,就能利用云计算的分布式计算资源。这不仅降低了技术门槛,也提高了工作效率,对于推动科学研究和工程应用的快速发展具有积极意义。 M2M为Matlab用户开启了一扇通往云计算的大门,通过将复杂的数值计算任务转化为适合大规模并行处理的MapReduce作业,使得云平台在科学研究和工程计算中的应用变得更加便捷和广泛。

2023-06-10 06:10:14,356 INFO mapreduce.Job: Job job_1686300831839_0056 failed with state FAILED due to: Task failed task_1686300831839_0056_m_000001 Job failed as tasks failed. failedMaps:1 failedReduces:0 killedMaps:0 killedReduces: 0 2023-06-10 06:10:14,536 INFO mapreduce.Job: Counters: 9 Job Counters Failed map tasks=1 Killed map tasks=3 Launched map tasks=4 Data-local map tasks=4 Total time spent by all maps in occupied slots (ms)=20374 Total time spent by all reduces in occupied slots (ms)=0 Total time spent by all map tasks (ms)=20374 Total vcore-milliseconds taken by all map tasks=20374 Total megabyte-milliseconds taken by all map tasks=20862976 2023-06-10 06:10:14,561 WARN mapreduce.Counters: Group FileSystemCounters is deprecated. Use org.apache.hadoop.mapreduce.FileSystemCounter instead 2023-06-10 06:10:14,566 INFO mapreduce.ExportJobBase: Transferred 0 bytes in 19.7479 seconds (0 bytes/sec) 2023-06-10 06:10:14,582 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter is deprecated. Use org.apache.hadoop.mapreduce.TaskCounter instead 2023-06-10 06:10:14,582 INFO mapreduce.ExportJobBase: Exported 0 records. 2023-06-10 06:10:14,582 ERROR mapreduce.ExportJobBase: Export job failed! 2023-06-10 06:10:14,585 ERROR tool.ExportTool: Error during export: Export job failed! at org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:445) at org.apache.sqoop.manager.SqlManager.exportTable(SqlManager.java:931) at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:80) at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:99) at org.apache.sqoop.Sqoop.run(Sqoop.java:147) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243) at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

2023-06-11 上传