详情页标题前

阿里云云原生大数据计算服务 MaxCompute本地运行-云淘科技

详情页1

本文向您介绍本地和分布式环境运行MapReduce的差异和MapReduce本地运行示例。

各阶段介绍

本地运行前:通过在Jar命令中设置–local参数,在本地模拟MapReduce的运行过程,从而进行本地调试。

本地运行时:客户端会从MaxCompute中下载本地调试所需要的输入的元信息、数据,所需要的资源以及输出表的元信息,并将这些信息保存到一个名为warehouse的本地目录中。

本地运行结束后:程序运行结束后,会将计算结果输出到warehouse目录内的一个文件中。如果本地的warehouse目录下已经下载了输入表及被引用的资源,在下一次运行时,会直接引用warehouse下的数据及文件,无需重复下载。

本地运行和分布式环境运行差异

在本地运行的过程中,仍然会启动多个Map及Reduce进程处理数据,但这些进程不是并发运行,而是依次串行运行。

此外,这个本地模拟运行过程与真正的分布式运行有如下差别:

  • 输入表行数限制:目前最多只支持下载100行数据。
  • 资源的使用:在分布式环境中,MaxCompute会限制引用资源的大小,详情请参见MR限制汇总。但在本地运行环境中,不会有资源大小的限制。
  • 安全限制:MaxCompute MapReduce及UDF程序在分布式环境中运行时受到Java沙箱的限制。但在本地运行时,没有此限制。

本地运行示例

本地运行的示例如下。

    odps:my_project> jar -l com.aliyun.odps.mapred.example.WordCount wc_in wc_out
    Summary:
    counters: 10
        map-reduce framework
                combine_input_groups=2
                combine_output_records=2
                map_input_bytes=4
                map_input_records=1
                map_output_records=2
                map_output_[wc_out]_bytes=0
                map_output_[wc_out]_records=0
                reduce_input_groups=2
                reduce_output_[wc_out]_bytes=8
                reduce_output_[wc_out]_records=2
    OK

关于WordCount示例的代码介绍请参见WordCount示例。

如果您是第一次运行本地调试命令,命令成功结束后,会在当前路径下看到一个名为warehouse的路径。warehouse的目录结构如下所示。


   |____my_project(项目空间目录)
          |____ 
          |       |__wc_in(表数据目录)
          |       |      |____ data(文件)
          |       |      |
          |       |      |____  (文件)
          |       |__wc_out(表数据目录)
          |               |____ data(文件)
          |               |
          |               |____  (文件)
          |
          |____ 
                  |
                  |___table_resource_name (表资源)
                  |         |____
                  |
                  |___ file_resource_name(文件资源)
  • my_project的同级目录表示项目空间。wc_inwc_out表示数据表,您在Jar命令中读写的表文件数据会被下载到这级目录下。
  • 文件中的内容表示表的元信息,其文件格式定义如下。
      project=local_project_name
      table=local_table_name
      columns=col1_name:col1_type,col2_name:col2_type
      partitions=p1:STRING,p2:BIGINT    --本示例中不需要此字。

    其中,列名与列类型使用英文冒号分隔,列与列之间使用英文逗号分隔。文件的最前面需要声明Project名字及Table名字,即project_name.table_name,并通过英文逗号与列的定义做分隔,即project_name.table_name,col1_name:col1_type,col2_name:col2_type,……

  • tables目录中data文件表示表的数据。列的数量及数据必须与_schema_文件的定义相符,不能多列或者少列,列之间使用逗号分隔。

    wc_in的_schema_文件内容如下。

    my_project.wc_in,key:STRING,value:STRING

    data文件内容如下。

    0,2

    客户端会从MaxCompute中下载表的元信息及部分数据内容,并保存到上述两个文件中。如果再次运行此示例,将直接使用wc_in目录下的数据,不会再次下载。


    说明 仅在MapReduce的本地运行模式下支持从MaxCompute中下载数据的功能。

    wc_out的_schema_文件内容如下。

    my_project.wc_out,key:STRING,cnt:BIGINT

    data文件内容如下。

      0,1
      2,1

    客户端会从MaxCompute中下载wc_out表的元信息,并保存到_schema_文件中。而本地运行后,生成的结果数据,则保存到data文件中。


    说明

    • 您也可以自行编辑_schema_及data文件,而后将这两个文件放置在对应的表目录下。
    • 在本地运行时,客户端检测到表目录已经存在,则不会从MaxCompute中下载这个表的信息。本地的表目录可以是MaxCompute中不存在的表。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/159396.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云RDS数据库管理敏感数据-云淘科技

    如果您需要对RDS实例中的敏感数据进行管控和脱敏,可以使用数据管理DMS提供的敏感数据保护功能。 费用 请参见敏感数据保护功能定价。 功能介绍 数据管理DMS的敏感数据管理提供如下功能: 提供敏感数据资产大盘,解决企业敏感数据分布的统一纳管问题。 数据自动化扫描。 自定义数据扫描触发周期。 自动识别企业敏感数据和对敏感数据进行分类分级,及时发现、有效管理企业…

    2023年12月9日
  • 阿里云对象存储OSS使用Python SDK的SelectObject查询CSV和JSON文件-云淘科技

    本文介绍如何使用Python SDK的SelectObject查询CSV和JSON文件。 说明 本文示例由阿里云用户fralychen提供,仅供参考。 上传CSV或JSON格式文件 您可以根据业务需求,在OSS管理控制台将CSV或JSON格式文件上传到OSS bucket中。如何将文件上传至OSS bucket,请参见上传文件。 调用测试 通过put_obj…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云云原生大数据计算服务 MaxCompute数据类型正确性冒烟测试-云淘科技

    本文为您介绍简单的doc表与query表对系统的冒烟测试,观察系统是否正常运行。 测试结论 Proxima CE目前支持的数据类型如下: 只支持FLOAT、INT8、BINARY 类型(对应aitheta2的FT_FP32、FT_INT8、FT_BINARY32)。 不支持DOUBLE、INT16类型(对应aitheta的FT_FP64、FT_INT16)。…

  • 阿里云大数据开发治理平台 DataWorks数据分析:即时快速分析-云淘科技

    数据分析基于“人人都是数据分析师”的产品目标,旨在为更多非专业数据开发人员,如数据分析、产品、运营等工作人员提供更加简洁高效的取数、用数工具,提升大家日常取数分析效率。 功能概述 数据分析支持基于个人视角的数据上传、公共数据集、表搜索与收藏、在线SQL取数、SQL文件共享、SQL查询结果下载及用电子表格进行大屏幕数据查看等产品功能。 适用场景 适合更多非专业…

    2023年12月10日
  • 阿里云对象存储OSSiOS断点续传下载-云淘科技

    断点续传下载是指客户端在从网络上下载资源时,由于某种原因中断下载。再次开启下载时可以从已下载完成的部分开始继续下载未完成的部分,从而节省时间和流量。 流程说明 在手机端使用App下载视频时,下载期间如果从Wifi模式切换到移动网络,App默认会中断下载。开启断点续传下载后,当您从移动网络再次切换到Wifi模式时,即可从上一次中断的位置继续下载。 执行断点续传…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。