2017-12-18 317 views

回答

1

當前current_timestamp功能蜂巢,不納秒時間。

但是你總是可以用create your own functions使用配置單元UDF來處理nano秒時間戳。

下面是UDF的示例,它將返回納秒時間的值long

import org.apache.hadoop.hive.ql.exec.UDF; 
import org.apache.hadoop.hive.ql.udf.UDFType; 

@UDFType(stateful = true) 
public class NanoTimeUdf extends UDF{ 

    public long evaluate() { 
     return System.nanoTime(); 
    } 

} 

創建一個JAR出上面的Java代碼(說tonanotime.jar),並添加JAR創建UDF函數返回當前時間納米。

ADD JAR /home/amit/tonanotime.jar; 
create TEMPORARY FUNCTION toNanoTime AS 'NanoTimeUdf'; 

現在,toNanoTime功能可用,您可以選擇查詢使用插入到新表,如: e.g

insert into table select toNanoTime() from other_table; 
相關問題