寫的乙個內部使用的udaf,參照hive的sum和這位大哥的udaf經過n多次的嘗試終於成功了!!!
話不多說,直接上**:
package hive.irudaf2;import org.apache.hadoop.hive.ql.exec.udaf;
import org.apache.hadoop.hive.ql.exec.udafevaluator;
import org.apache.hadoop.io.longwritable;
import org.apache.hadoop.io.text;
import org.apache.commons.lang.stringutils;
///*
掩碼計算:
* *ibit=(hour*60+min)/5
* ibit=0——5掩碼第0位置1,5——10掩碼第1位置1,以此類推 */
public
class
irmask extends udaf
/**init函式類似於建構函式,用於udaf的初始化
*/public
void
init()
/**iterate接收傳入的引數,並進行內部的輪轉。其返回型別為boolean
*/public
boolean iterate(text in1)
}
return
true
;
}
/**terminatepartial無引數,其為iterate函式輪轉結束後,返回輪轉資料
*類似combiner中的reducer
*/public
string terminatepartial()
/**merge接收terminatepartial的返回結果,進行資料merge操作,其返回型別為boolean
*/public boolean merge(string in1) //
in1是terminatepartial傳入的結果
sresult =string.valueof(chtemp);
return
true
;
}
/**terminate返回最終的聚集函式結果
*/public
text terminate()
public
intchangevstarttoint(string vstart)
public
boolean isnumeric(string str)
}return
true
; }
public
intchangestringtoint(string str)
}
}
子網掩碼計算
子網掩碼 subnet mask 又叫網路掩碼 位址掩碼 子網路遮罩,它是一種用來指明乙個ip位址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合ip位址一起使用。子網掩碼只有乙個作用,就是將某個ip位址劃分成網路位址和主機位址兩部分。子網掩碼是乙個3...
關於子網掩碼計算
關於子網掩碼計算 ip位址是32位的二進位制數值,用於在tcp ip通訊協議中標記每台計算機的位址。通常我們使用點式十進位制來表示,如192.168.0.5等等。每個ip位址又可分為兩部分。即網路號部分和主機號部分 網路號表示其所屬的網路段編號,主機號則表示該網段中該主機的位址編號。按照網路規模的大...
子網掩碼的計算
子網掩碼 網路掩碼 位址掩碼 子網路遮罩 是一種用來指明乙個ip位址的哪些位標識的是主機所在的子網以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合ip位址一起使用。子網掩碼只有乙個作用,就是將某個ip位址劃分成網路位址和主機位址兩部分。利用子網掩碼可以把大的網路劃分成子網,即vlsm...