MaxCompute SQL Row_Sequence 實現列自增長
效果如下:
select row_sequence() from user_info;
實現思路:數倉SQL不支持這種auto-increment id,但可以通過UDF來給海量數據的每一行產生唯一的id。
準備工作:
1、開通大數據開發套件、MaxCompute服務。
2、配置Eclipse環境。
通過Eclipse創建UDF:
1、新建Row_Sequence.java,代碼如下
package com.aliyun.odps.examples.udf;
import com.aliyun.odps.io.LongWritable;
import com.aliyun.odps.udf.UDF;
public class Row_Sequence extends UDF {
private LongWritable result = new LongWritable();
public Row_Sequence () {
result.set(0);
}
public String evaluate() {
result.set(result.get() + 1);
return result.toString();
}
}
通過大數據開發套件注冊函數
1、通過大數據開發數據開發->資源管理,上傳Row_Sequence.JAR資源。
2、通過大數據開發數據開發->函數管理,注冊row_sequence函數。
通過大數據開發套件驗證
1、通過SQL查詢結果
select row_sequence() from user_info;

最後更新:2017-07-07 11:32:11