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

Alias命令

Alias功能可以实现在不修改代码的前提下,在MapReduce自定义函数(UDF)代码中,通过某个固定的资源名读取不同资源(数据)。

命令格式如下。
alias <alias>=<real>;

行为说明:为资源创建别名。

示例如下。
ADD TABLE src_part PARTITION (ds='20121208') AS res_20121208;
ADD TABLE src_part PARTITION (ds='20121209') AS res_20121209;
ALIAS resName=res_20121208;
jar -resources resName -libjars work.jar  -classpath ./work.jar com.company.MainClass args ...;  // 作业一。
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@ $odps_project >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