本文为您介绍如何使用Alias命令读取资源数据,以及如何使用计量预估(Cost SQL)命令预估SQL计量信息。

为资源创建别名

  • 命令格式
    ALIAS <alias>=<real>;
  • 功能说明

    为资源创建别名。ALIAS命令可以在不修改代码的前提下,在MapReduce自定义函数(UDF)代码中,通过某个固定的资源名读取不同资源(数据)。

  • 参数说明
    • alias:命名后的资源别名。
    • real:资源的原名。
  • 示例
    --新增资源res_20121208和res_20121209。
    odps@ project_name>ADD TABLE sale_detail PARTITION (ds='20121208') AS res_20121208;
    odps@ project_name>ADD TABLE sale_detail PARTITION (ds='20121209') AS res_20121209;
    
    --命名资源res_20121208的别名为resName,并调用它。
    odps@ project_name>ALIAS resName=res_20121208;
    jar -resources resName -libjars work.jar  -classpath ./work.jar com.company.MainClass args ...;  // 作业一。
    --命名资源res_20121209的别名为resName,并调用它。
    ALIAS resName=res_20121209;
    jar -resources resName -libjars work.jar  -classpath ./work.jar com.company.MainClass args ...; // 作业二。

上例中的资源别名resName在两个作业里引用了不同的资源表,您无需修改代码便可读取到不同的数据。

计量预估(Cost SQL命令)

  • 命令格式
    Cost SQL <SQL Sentence>;
  • 功能说明

    预估一条SQL的计量信息,包含输入数据的大小、UDF个数以及SQL复杂等级。

    说明 该信息不能作为实际计费标准,仅供参考,实际费用请以账单为准。
  • 示例
    odps@ project_name>Cost SQL SELECT DISTINCT project_name, user_name FROM meta.m_security_users DISTRIBUTE BY project_name SORT BY project_name;  
    
    ID = 20150715113033121xxxxxxx
    Input:65727592 Bytes
    UDF:0
    Complexity:1.0