更新時(shí)間:2023-07-12 來源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
在main()方法中,首先使用filter()算子過濾aggregationRDD每一行數(shù)據(jù)中行為類型為加入購物車和購買的數(shù)據(jù),只保留行為類型為查看的數(shù)據(jù),然后使用mapToPair()算子對過濾結(jié)果進(jìn)行轉(zhuǎn)換,獲取每一行數(shù)據(jù)中品類被查看次數(shù)和品類ID數(shù)據(jù),最終將轉(zhuǎn)換結(jié)果加載到getViewCategoryRDD.具體代碼如下。
JavaPairRDD<String, Integer> getViewCategoryRDD=aggregationRDD
.filter (new Function<Tuple2<Tuple2<String, String>, Integer>
, Boolean> () {
@override
public Boolean call(Tuple2<Tuple2<String;String>
, Integer> tuple2) throws Exception {
//獲取行為類型
String action =tuple2._1._2;
return action.equals("view");
}
}).mapToPair(
new PairFunction<Tuple2<Tuple2<String, String>
, Integer>, String, Integer>() {
@override
public Tuple2<String, Integer>
call(Tuple2<Tuple2<String, String>, Integer> tuple2)
throws Exception {
return new Tuple2<> (tuple2._1._1:tuple2 ._2):
}
});上述代碼中,第9行通過equals()方法判斷獲取的行為類型是否為view(查看)并將判斷城果作為返回值,若返回值為True則進(jìn)行后續(xù)轉(zhuǎn)換操作。
在main()方法中,首先使用filter()算子過濾aggregationRDD每一行數(shù)據(jù)中行為類型為查看和購買的數(shù)據(jù),只保留行為類型為加入購物車的數(shù)據(jù),然后使用mapToPair()算子對過濾結(jié)果進(jìn)行轉(zhuǎn)換,獲取每一行數(shù)據(jù)中品類被加入購物車次數(shù)和品類ID數(shù)據(jù),最終將轉(zhuǎn)換結(jié)果加載到getCartCategoryRDD,具體代碼如下。
JavaPairRDD<String,Integer> getCartCategoryRDD =aggregationRDD
.filter (new Function<Tuple2<Tuple2<String, String>, Integer>
, Boolean>() {
@override
public Boolean call(Tuple2<Tuple2<String, String>
, Integer> tuple2) throws Exception {
String action =tuple2._1._2:
return action.equals("cart"):
}
}).mapToPair(new PairFunction<Tuple2<Tuple2<String, String>
,Integer>,String,Integer>(){
@oerride
public Tuple2<String, Integer>
call (Tuple2<Tuple2<String, String>, Integer> tuple2)
throws Exception {
return new Tuple2<> (tuple2._1._1,tuple2._2);
}
}):上述代碼中,第9行通過equals()方法判斷獲取的行為類型是否為view(查看)并將判斷城果作為返回值,若返回值為True則進(jìn)行后續(xù)轉(zhuǎn)換操作。
在main()方法中,首先使用filter()算子過濾aggregationRDD每一行數(shù)據(jù)中行為類型為查看和購買的數(shù)據(jù),只保留行為類型為加入購物車的數(shù)據(jù),然后使用mapToPair()算子對過濾結(jié)果進(jìn)行轉(zhuǎn)換,獲取每一行數(shù)據(jù)中品類被加入購物車次數(shù)和品類ID數(shù)據(jù),最終將轉(zhuǎn)換結(jié)果加載到getCartCategoryRDD,具體代碼如下。
JavaPairRDD<String,Integer> getCartCategoryRDD =aggregationRDD
.filter(new Function<Tuple2<Tuple2<String, String>, Integer>
, Boolean>() {
@override
public Boolean call(Tuple2<Tuple2<String, String>
, Integer> tuple2) throws Exception {
String action =tuple2._1._2:
return action.equals("cart"):
}
}).mapToPair(new PairFunction<Tuple2<Tuple2<String, String>
,Integer>,String,Integer>(){
@oerride
public Tuple2<String, Integer>
call (Tuple2<Tuple2<String, String>, Integer> tuple2)
throws Exception {
return new Tuple2<> (tuple2._1._1,tuple2._2);
}
});上述代碼中,第8行通過equals()方法判斷獲取的行為類型是否為cart(加入購物車)并將判斷結(jié)果作為返回值,若返回值為True則進(jìn)行后續(xù)轉(zhuǎn)換操作。
使用filter()算子過濾aggregationRDD每一行數(shù)據(jù)中行為類型為查看和加入購物車的數(shù)據(jù),只保留行為類型為購買的數(shù)據(jù),然后使用apToPair()算子對過濾結(jié)果進(jìn)行轉(zhuǎn)換,獲取每一行數(shù)據(jù)中品類被購買次數(shù)和品類ID數(shù)據(jù),最終將轉(zhuǎn)換結(jié)果加載到getPurchaseCategoryRDD,具體代碼如下。
上述代碼中,第8行通過equals()方法判斷獲取的行為類型是否為purchase(購買)并將判斷結(jié)果作為返回值,若返回值為True則進(jìn)行后續(xù)轉(zhuǎn)換操作。