|
@@ -81,7 +81,8 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
|
|
|
"user_adverid_conver_3d", "user_adverid_conver_7d", "user_adverid_conver_30d",
|
|
|
"user_skuid_view_3d", "user_skuid_view_7d", "user_skuid_view_30d",
|
|
|
"user_skuid_click_3d", "user_skuid_click_7d", "user_skuid_click_30d",
|
|
|
- "user_skuid_conver_3d", "user_skuid_conver_7d", "user_skuid_conver_30d")
|
|
|
+ "user_skuid_conver_3d", "user_skuid_conver_7d", "user_skuid_conver_30d",
|
|
|
+ "is_weekday", "day_of_the_week")
|
|
|
|
|
|
|
|
|
// 2 读取odps+表信息
|
|
@@ -125,6 +126,14 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
|
|
|
.map(record => {
|
|
|
val featureMap = new JSONObject()
|
|
|
val ts = record.getString("ts").toInt
|
|
|
+ val instant = Instant.ofEpochSecond(ts)
|
|
|
+ // 设置时区为中国时区
|
|
|
+ val chinaZone = ZoneId.of("Asia/Shanghai")
|
|
|
+ // 将 Instant 对象转换为中国时区的 ZonedDateTime 对象
|
|
|
+ val zonedDateTime = ZonedDateTime.ofInstant(instant, chinaZone)
|
|
|
+ // 获取星期几(1=周一,7=周日)
|
|
|
+ val dayOfTheWeek = zonedDateTime.getDayOfWeek.getValue()
|
|
|
+ val isWeekday = if (dayOfTheWeek <= 5) 1 else 2
|
|
|
val cid = record.getString("cid")
|
|
|
val mid = record.getString("mid")
|
|
|
val pqtid = record.getString("pqtid")
|
|
@@ -202,6 +211,8 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
|
|
|
if (sceneFeature.containsKey("hour_quarter") && sceneFeature.getString("hour_quarter").nonEmpty) {
|
|
|
featureMap.put("hour_quarter", sceneFeature.getString("hour_quarter"))
|
|
|
}
|
|
|
+ featureMap.put("is_weekday", isWeekday)
|
|
|
+ featureMap.put("day_of_the_week", dayOfTheWeek)
|
|
|
|
|
|
val hour = DateTimeUtil.getHourByTimestamp(ts)
|
|
|
featureMap.put("hour_" + hour, idDefaultValue)
|