xueyiming vor 2 Monaten
Ursprung
Commit
fd4c2f4aa8

+ 736 - 709
src/main/scala/com/aliyun/odps/spark/examples/makedata_ad/v20240718/makedata_ad_32_bucket_hive_test.scala

@@ -1,8 +1,10 @@
 package com.aliyun.odps.spark.examples.makedata_ad.v20240718
 
+import com.aliyun.odps.TableSchema
+import com.aliyun.odps.data.Record
 import com.aliyun.odps.spark.examples.myUtils.{ParamUtils, env}
 import org.apache.spark.sql.types._
-import org.apache.spark.sql.{Row, SparkSession}
+import org.apache.spark.sql.{DataFrame, Row, SparkSession}
 
 import scala.collection.JavaConversions._
 import scala.collection.mutable.ArrayBuffer
@@ -20,10 +22,14 @@ object makedata_ad_32_bucket_hive_test {
       .getOrCreate()
     val sc = spark.sparkContext
 
+    // 2 读取odps+表信息
+    val odpsOps = env.getODPS(sc)
+
     // 1 读取参数
     val param = ParamUtils.parseArgs(args)
     val project = param.getOrElse("project", "loghubods")
     val table = param.getOrElse("table", "ad_easyrec_train_data_v1")
+    val partition = "20250101"
 
     val result = new ArrayBuffer[String]()
 
@@ -34,7 +40,9 @@ object makedata_ad_32_bucket_hive_test {
     // 使用 for 循环遍历
     for (element <- result) {
       val map = processString(element)
-      rows.add(Row(
+      val value = sc.parallelize(map.toSeq)
+      odpsOps.saveToTable(project, table, partition, value, write)
+      val row = Row(
         map.getOrElse("has_click", null).asInstanceOf[Long],
         map.getOrElse("has_conversion", null).asInstanceOf[Long],
         map.getOrElse("b8_yesterday_ctr", null).asInstanceOf[Double],
@@ -727,719 +735,738 @@ object makedata_ad_32_bucket_hive_test {
         map.getOrElse("b9_7d_click", null).asInstanceOf[Double],
         map.getOrElse("weight", null).asInstanceOf[Double],
         map.getOrElse("dt", "20250101").asInstanceOf[String]
-      ))
+      )
+      rows.add(row)
     }
 
     println(rows)
 
-    val schema = StructType(Seq(
-      StructField("has_click", LongType, nullable = true),
-      StructField("has_conversion", LongType, nullable = true),
-      StructField("b8_yesterday_ctr", DoubleType, nullable = true),
-      StructField("b8_yesterday_ctcvr", DoubleType, nullable = true),
-      StructField("b8_yesterday_cvr", DoubleType, nullable = true),
-      StructField("b8_yesterday_conver", DoubleType, nullable = true),
-      StructField("b8_yesterday_ecpm", DoubleType, nullable = true),
-      StructField("b8_yesterday_click", DoubleType, nullable = true),
-      StructField("b8_yesterday_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_1h_ctr", DoubleType, nullable = true),
-      StructField("b9_1h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_1h_cvr", DoubleType, nullable = true),
-      StructField("b9_1h_conver", DoubleType, nullable = true),
-      StructField("b9_1h_ecpm", DoubleType, nullable = true),
-      StructField("b9_1h_click", DoubleType, nullable = true),
-      StructField("b9_1h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_1h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_2h_ctr", DoubleType, nullable = true),
-      StructField("b9_2h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_2h_cvr", DoubleType, nullable = true),
-      StructField("b9_2h_conver", DoubleType, nullable = true),
-      StructField("b9_2h_ecpm", DoubleType, nullable = true),
-      StructField("b9_2h_click", DoubleType, nullable = true),
-      StructField("b9_2h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_2h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_3h_ctr", DoubleType, nullable = true),
-      StructField("b9_3h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_3h_cvr", DoubleType, nullable = true),
-      StructField("b9_3h_conver", DoubleType, nullable = true),
-      StructField("b9_3h_ecpm", DoubleType, nullable = true),
-      StructField("b9_3h_click", DoubleType, nullable = true),
-      StructField("b9_3h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_3h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_4h_ctr", DoubleType, nullable = true),
-      StructField("b9_4h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_4h_cvr", DoubleType, nullable = true),
-      StructField("b9_4h_conver", DoubleType, nullable = true),
-      StructField("b9_4h_ecpm", DoubleType, nullable = true),
-      StructField("b9_4h_click", DoubleType, nullable = true),
-      StructField("b9_4h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_4h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_5h_ctr", DoubleType, nullable = true),
-      StructField("b9_5h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_5h_cvr", DoubleType, nullable = true),
-      StructField("b7_14d_ctcvr", DoubleType, nullable = true),
-      StructField("b7_14d_cvr", DoubleType, nullable = true),
-      StructField("b7_14d_conver", DoubleType, nullable = true),
-      StructField("b7_14d_ecpm", DoubleType, nullable = true),
-      StructField("b7_14d_click", DoubleType, nullable = true),
-      StructField("b7_14d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b7_14d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("viewall", DoubleType, nullable = true),
-      StructField("clickall", DoubleType, nullable = true),
-      StructField("converall", DoubleType, nullable = true),
-      StructField("incomeall", DoubleType, nullable = true),
-      StructField("ctr_all", DoubleType, nullable = true),
-      StructField("ctcvr_all", DoubleType, nullable = true),
-      StructField("cvr_all", DoubleType, nullable = true),
-      StructField("ecpm_all", DoubleType, nullable = true),
-      StructField("timediff_view", DoubleType, nullable = true),
-      StructField("timediff_click", DoubleType, nullable = true),
-      StructField("timediff_conver", DoubleType, nullable = true),
-      StructField("actionstatic_view", DoubleType, nullable = true),
-      StructField("actionstatic_click", DoubleType, nullable = true),
-      StructField("actionstatic_conver", DoubleType, nullable = true),
-      StructField("actionstatic_income", DoubleType, nullable = true),
-      StructField("actionstatic_ctr", DoubleType, nullable = true),
-      StructField("actionstatic_ctcvr", DoubleType, nullable = true),
-      StructField("actionstatic_cvr", DoubleType, nullable = true),
-      StructField("e1_tags_3d_matchnum", DoubleType, nullable = true),
-      StructField("e1_tags_3d_maxscore", DoubleType, nullable = true),
-      StructField("e1_tags_3d_avgscore", DoubleType, nullable = true),
-      StructField("e1_tags_7d_matchnum", DoubleType, nullable = true),
-      StructField("e1_tags_7d_maxscore", DoubleType, nullable = true),
-      StructField("e1_tags_7d_avgscore", DoubleType, nullable = true),
-      StructField("e1_tags_14d_matchnum", DoubleType, nullable = true),
-      StructField("e1_tags_14d_maxscore", DoubleType, nullable = true),
-      StructField("e1_tags_14d_avgscore", DoubleType, nullable = true),
-      StructField("e2_tags_3d_matchnum", DoubleType, nullable = true),
-      StructField("e2_tags_3d_maxscore", DoubleType, nullable = true),
-      StructField("e2_tags_3d_avgscore", DoubleType, nullable = true),
-      StructField("e2_tags_7d_matchnum", DoubleType, nullable = true),
-      StructField("e2_tags_7d_maxscore", DoubleType, nullable = true),
-      StructField("e2_tags_7d_avgscore", DoubleType, nullable = true),
-      StructField("e2_tags_14d_matchnum", DoubleType, nullable = true),
-      StructField("e2_tags_14d_maxscore", DoubleType, nullable = true),
-      StructField("e2_tags_14d_avgscore", DoubleType, nullable = true),
-      StructField("b8_1h_cvr", DoubleType, nullable = true),
-      StructField("b8_1h_conver", DoubleType, nullable = true),
-      StructField("b8_1h_ecpm", DoubleType, nullable = true),
-      StructField("b8_1h_click", DoubleType, nullable = true),
-      StructField("b8_1h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_1h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_2h_ctr", DoubleType, nullable = true),
-      StructField("b8_2h_ctcvr", DoubleType, nullable = true),
-      StructField("b8_2h_cvr", DoubleType, nullable = true),
-      StructField("b8_2h_conver", DoubleType, nullable = true),
-      StructField("b8_2h_ecpm", DoubleType, nullable = true),
-      StructField("b8_2h_click", DoubleType, nullable = true),
-      StructField("b8_2h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_2h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_3h_ctr", DoubleType, nullable = true),
-      StructField("b8_3h_ctcvr", DoubleType, nullable = true),
-      StructField("b8_3h_cvr", DoubleType, nullable = true),
-      StructField("b8_3h_conver", DoubleType, nullable = true),
-      StructField("b8_3h_ecpm", DoubleType, nullable = true),
-      StructField("b8_3h_click", DoubleType, nullable = true),
-      StructField("b8_3h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_3h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_4h_ctr", DoubleType, nullable = true),
-      StructField("b8_4h_ctcvr", DoubleType, nullable = true),
-      StructField("b8_4h_cvr", DoubleType, nullable = true),
-      StructField("b8_4h_conver", DoubleType, nullable = true),
-      StructField("b8_4h_ecpm", DoubleType, nullable = true),
-      StructField("b8_4h_click", DoubleType, nullable = true),
-      StructField("b8_4h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_4h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_5h_ctr", DoubleType, nullable = true),
-      StructField("b8_5h_ctcvr", DoubleType, nullable = true),
-      StructField("b8_5h_cvr", DoubleType, nullable = true),
-      StructField("b8_5h_conver", DoubleType, nullable = true),
-      StructField("b8_5h_ecpm", DoubleType, nullable = true),
-      StructField("b8_5h_click", DoubleType, nullable = true),
-      StructField("b8_5h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_5h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_6h_ctr", DoubleType, nullable = true),
-      StructField("b8_6h_ctcvr", DoubleType, nullable = true),
-      StructField("b8_6h_cvr", DoubleType, nullable = true),
-      StructField("b8_6h_conver", DoubleType, nullable = true),
-      StructField("b8_6h_ecpm", DoubleType, nullable = true),
-      StructField("b4_3d_ctcvr", DoubleType, nullable = true),
-      StructField("b4_3d_cvr", DoubleType, nullable = true),
-      StructField("b4_3d_conver", DoubleType, nullable = true),
-      StructField("b4_3d_ecpm", DoubleType, nullable = true),
-      StructField("b4_3d_click", DoubleType, nullable = true),
-      StructField("b4_3d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_3d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_7d_ctr", DoubleType, nullable = true),
-      StructField("b4_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b4_7d_cvr", DoubleType, nullable = true),
-      StructField("b4_7d_conver", DoubleType, nullable = true),
-      StructField("b4_7d_ecpm", DoubleType, nullable = true),
-      StructField("b4_7d_click", DoubleType, nullable = true),
-      StructField("b4_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_today_ctr", DoubleType, nullable = true),
-      StructField("b4_today_ctcvr", DoubleType, nullable = true),
-      StructField("b4_today_cvr", DoubleType, nullable = true),
-      StructField("b4_today_conver", DoubleType, nullable = true),
-      StructField("b4_today_ecpm", DoubleType, nullable = true),
-      StructField("b4_today_click", DoubleType, nullable = true),
-      StructField("b4_today_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_today_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_yesterday_ctr", DoubleType, nullable = true),
-      StructField("b4_yesterday_ctcvr", DoubleType, nullable = true),
-      StructField("b4_yesterday_cvr", DoubleType, nullable = true),
-      StructField("b4_yesterday_conver", DoubleType, nullable = true),
-      StructField("b4_yesterday_ecpm", DoubleType, nullable = true),
-      StructField("b4_yesterday_click", DoubleType, nullable = true),
-      StructField("b4_yesterday_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_1h_ctr", DoubleType, nullable = true),
-      StructField("b5_1h_ctcvr", DoubleType, nullable = true),
-      StructField("b5_1h_cvr", DoubleType, nullable = true),
-      StructField("b5_1h_conver", DoubleType, nullable = true),
-      StructField("b5_1h_ecpm", DoubleType, nullable = true),
-      StructField("b5_1h_click", DoubleType, nullable = true),
-      StructField("b5_1h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_1h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_2h_ctr", DoubleType, nullable = true),
-      StructField("b5_2h_ctcvr", DoubleType, nullable = true),
-      StructField("b5_2h_cvr", DoubleType, nullable = true),
-      StructField("b5_2h_conver", DoubleType, nullable = true),
-      StructField("d1_feature_3h_ctr", DoubleType, nullable = true),
-      StructField("d1_feature_3h_ctcvr", DoubleType, nullable = true),
-      StructField("d1_feature_3h_cvr", DoubleType, nullable = true),
-      StructField("d1_feature_3h_conver", DoubleType, nullable = true),
-      StructField("d1_feature_3h_ecpm", DoubleType, nullable = true),
-      StructField("d1_feature_6h_ctr", DoubleType, nullable = true),
-      StructField("d1_feature_6h_ctcvr", DoubleType, nullable = true),
-      StructField("d1_feature_6h_cvr", DoubleType, nullable = true),
-      StructField("d1_feature_6h_conver", DoubleType, nullable = true),
-      StructField("d1_feature_6h_ecpm", DoubleType, nullable = true),
-      StructField("d1_feature_12h_ctr", DoubleType, nullable = true),
-      StructField("d1_feature_12h_ctcvr", DoubleType, nullable = true),
-      StructField("d1_feature_12h_cvr", DoubleType, nullable = true),
-      StructField("d1_feature_12h_conver", DoubleType, nullable = true),
-      StructField("d1_feature_12h_ecpm", DoubleType, nullable = true),
-      StructField("d1_feature_1d_ctr", DoubleType, nullable = true),
-      StructField("d1_feature_1d_ctcvr", DoubleType, nullable = true),
-      StructField("d1_feature_1d_cvr", DoubleType, nullable = true),
-      StructField("d1_feature_1d_conver", DoubleType, nullable = true),
-      StructField("d1_feature_1d_ecpm", DoubleType, nullable = true),
-      StructField("d1_feature_3d_ctr", DoubleType, nullable = true),
-      StructField("d1_feature_3d_ctcvr", DoubleType, nullable = true),
-      StructField("d1_feature_3d_cvr", DoubleType, nullable = true),
-      StructField("d1_feature_3d_conver", DoubleType, nullable = true),
-      StructField("d1_feature_3d_ecpm", DoubleType, nullable = true),
-      StructField("d1_feature_7d_ctr", DoubleType, nullable = true),
-      StructField("d1_feature_7d_ctcvr", DoubleType, nullable = true),
-      StructField("d1_feature_7d_cvr", DoubleType, nullable = true),
-      StructField("d1_feature_7d_conver", DoubleType, nullable = true),
-      StructField("d1_feature_7d_ecpm", DoubleType, nullable = true),
-      StructField("vid_rank_ctr_1d", DoubleType, nullable = true),
-      StructField("vid_rank_ctr_3d", DoubleType, nullable = true),
-      StructField("vid_rank_ctr_7d", DoubleType, nullable = true),
-      StructField("vid_rank_ctr_14d", DoubleType, nullable = true),
-      StructField("vid_rank_ctcvr_1d", DoubleType, nullable = true),
-      StructField("vid_rank_ctcvr_3d", DoubleType, nullable = true),
-      StructField("vid_rank_ctcvr_7d", DoubleType, nullable = true),
-      StructField("vid_rank_ctcvr_14d", DoubleType, nullable = true),
-      StructField("vid_rank_ecpm_1d", DoubleType, nullable = true),
-      StructField("vid_rank_ecpm_3d", DoubleType, nullable = true),
-      StructField("vid_rank_ecpm_7d", DoubleType, nullable = true),
-      StructField("vid_rank_ecpm_14d", DoubleType, nullable = true),
-      StructField("ctitle_vtitle_similarity", DoubleType, nullable = true),
-      StructField("b5_2h_ecpm", DoubleType, nullable = true),
-      StructField("b5_2h_click", DoubleType, nullable = true),
-      StructField("b5_2h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_2h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_3h_ctr", DoubleType, nullable = true),
-      StructField("b5_3h_ctcvr", DoubleType, nullable = true),
-      StructField("b5_3h_cvr", DoubleType, nullable = true),
-      StructField("b5_3h_conver", DoubleType, nullable = true),
-      StructField("b5_3h_ecpm", DoubleType, nullable = true),
-      StructField("b5_3h_click", DoubleType, nullable = true),
-      StructField("b5_3h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_3h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_4h_ctr", DoubleType, nullable = true),
-      StructField("b5_4h_ctcvr", DoubleType, nullable = true),
-      StructField("b5_4h_cvr", DoubleType, nullable = true),
-      StructField("b5_4h_conver", DoubleType, nullable = true),
-      StructField("b5_4h_ecpm", DoubleType, nullable = true),
-      StructField("b5_4h_click", DoubleType, nullable = true),
-      StructField("b5_4h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_4h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_5h_ctr", DoubleType, nullable = true),
-      StructField("b5_5h_ctcvr", DoubleType, nullable = true),
-      StructField("b5_5h_cvr", DoubleType, nullable = true),
-      StructField("b5_5h_conver", DoubleType, nullable = true),
-      StructField("b5_5h_ecpm", DoubleType, nullable = true),
-      StructField("b5_5h_click", DoubleType, nullable = true),
-      StructField("b5_5h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_5h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_6h_ctr", DoubleType, nullable = true),
-      StructField("b5_6h_ctcvr", DoubleType, nullable = true),
-      StructField("b5_6h_cvr", DoubleType, nullable = true),
-      StructField("b5_6h_conver", DoubleType, nullable = true),
-      StructField("b5_6h_ecpm", DoubleType, nullable = true),
-      StructField("b5_6h_click", DoubleType, nullable = true),
-      StructField("b5_6h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_6h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_12h_ctr", DoubleType, nullable = true),
-      StructField("b5_12h_ctcvr", DoubleType, nullable = true),
-      StructField("b5_12h_cvr", DoubleType, nullable = true),
-      StructField("b5_12h_conver", DoubleType, nullable = true),
-      StructField("b5_12h_ecpm", DoubleType, nullable = true),
-      StructField("b5_12h_click", DoubleType, nullable = true),
-      StructField("b5_12h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_6h_click", DoubleType, nullable = true),
-      StructField("b8_6h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_6h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_12h_ctr", DoubleType, nullable = true),
-      StructField("b8_12h_ctcvr", DoubleType, nullable = true),
-      StructField("b8_12h_cvr", DoubleType, nullable = true),
-      StructField("b8_12h_conver", DoubleType, nullable = true),
-      StructField("b8_12h_ecpm", DoubleType, nullable = true),
-      StructField("b8_12h_click", DoubleType, nullable = true),
-      StructField("b8_12h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_12h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_1d_ctr", DoubleType, nullable = true),
-      StructField("b8_1d_ctcvr", DoubleType, nullable = true),
-      StructField("b8_1d_cvr", DoubleType, nullable = true),
-      StructField("b8_1d_conver", DoubleType, nullable = true),
-      StructField("b8_1d_ecpm", DoubleType, nullable = true),
-      StructField("b8_1d_click", DoubleType, nullable = true),
-      StructField("b8_1d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_1d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_3d_ctr", DoubleType, nullable = true),
-      StructField("b8_3d_ctcvr", DoubleType, nullable = true),
-      StructField("b8_3d_cvr", DoubleType, nullable = true),
-      StructField("b8_3d_conver", DoubleType, nullable = true),
-      StructField("b8_3d_ecpm", DoubleType, nullable = true),
-      StructField("b8_3d_click", DoubleType, nullable = true),
-      StructField("b8_3d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_3d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_7d_ctr", DoubleType, nullable = true),
-      StructField("b8_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b8_7d_cvr", DoubleType, nullable = true),
-      StructField("b8_7d_conver", DoubleType, nullable = true),
-      StructField("b8_7d_ecpm", DoubleType, nullable = true),
-      StructField("b8_7d_click", DoubleType, nullable = true),
-      StructField("b8_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_today_ctr", DoubleType, nullable = true),
-      StructField("b8_today_ctcvr", DoubleType, nullable = true),
-      StructField("b8_today_cvr", DoubleType, nullable = true),
-      StructField("b8_today_conver", DoubleType, nullable = true),
-      StructField("b8_today_ecpm", DoubleType, nullable = true),
-      StructField("b8_today_click", DoubleType, nullable = true),
-      StructField("b8_today_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b8_today_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_today_click", DoubleType, nullable = true),
-      StructField("b2_today_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_today_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_yesterday_ctr", DoubleType, nullable = true),
-      StructField("b2_yesterday_ctcvr", DoubleType, nullable = true),
-      StructField("b2_yesterday_cvr", DoubleType, nullable = true),
-      StructField("b2_yesterday_conver", DoubleType, nullable = true),
-      StructField("b2_yesterday_ecpm", DoubleType, nullable = true),
-      StructField("b2_yesterday_click", DoubleType, nullable = true),
-      StructField("b2_yesterday_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_1h_ctr", DoubleType, nullable = true),
-      StructField("b3_1h_ctcvr", DoubleType, nullable = true),
-      StructField("b3_1h_cvr", DoubleType, nullable = true),
-      StructField("b3_1h_conver", DoubleType, nullable = true),
-      StructField("b3_1h_ecpm", DoubleType, nullable = true),
-      StructField("b3_1h_click", DoubleType, nullable = true),
-      StructField("b3_1h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_1h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_2h_ctr", DoubleType, nullable = true),
-      StructField("b3_2h_ctcvr", DoubleType, nullable = true),
-      StructField("b3_2h_cvr", DoubleType, nullable = true),
-      StructField("b3_2h_conver", DoubleType, nullable = true),
-      StructField("b3_2h_ecpm", DoubleType, nullable = true),
-      StructField("b3_2h_click", DoubleType, nullable = true),
-      StructField("b3_2h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_2h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_3h_ctr", DoubleType, nullable = true),
-      StructField("b3_3h_ctcvr", DoubleType, nullable = true),
-      StructField("b3_3h_cvr", DoubleType, nullable = true),
-      StructField("b3_3h_conver", DoubleType, nullable = true),
-      StructField("b3_3h_ecpm", DoubleType, nullable = true),
-      StructField("b3_3h_click", DoubleType, nullable = true),
-      StructField("b3_3h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_3h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_4h_ctr", DoubleType, nullable = true),
-      StructField("b3_4h_ctcvr", DoubleType, nullable = true),
-      StructField("b3_4h_cvr", DoubleType, nullable = true),
-      StructField("b3_4h_conver", DoubleType, nullable = true),
-      StructField("b3_4h_ecpm", DoubleType, nullable = true),
-      StructField("b3_4h_click", DoubleType, nullable = true),
-      StructField("b3_4h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_4h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_5h_ctr", DoubleType, nullable = true),
-      StructField("b3_5h_ctcvr", DoubleType, nullable = true),
-      StructField("b3_5h_cvr", DoubleType, nullable = true),
-      StructField("b3_5h_conver", DoubleType, nullable = true),
-      StructField("b3_5h_ecpm", DoubleType, nullable = true),
-      StructField("b3_5h_click", DoubleType, nullable = true),
-      StructField("b3_5h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_5h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_6h_ctr", DoubleType, nullable = true),
-      StructField("b3_6h_ctcvr", DoubleType, nullable = true),
-      StructField("b3_6h_cvr", DoubleType, nullable = true),
-      StructField("b3_6h_conver", DoubleType, nullable = true),
-      StructField("b3_6h_ecpm", DoubleType, nullable = true),
-      StructField("b3_6h_click", DoubleType, nullable = true),
-      StructField("b3_6h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_6h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_12h_ctr", DoubleType, nullable = true),
-      StructField("b3_12h_ctcvr", DoubleType, nullable = true),
-      StructField("b3_12h_cvr", DoubleType, nullable = true),
-      StructField("b3_12h_conver", DoubleType, nullable = true),
-      StructField("b3_12h_ecpm", DoubleType, nullable = true),
-      StructField("b3_12h_click", DoubleType, nullable = true),
-      StructField("b3_12h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_12h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_1d_ctr", DoubleType, nullable = true),
-      StructField("b3_1d_ctcvr", DoubleType, nullable = true),
-      StructField("b3_1d_cvr", DoubleType, nullable = true),
-      StructField("b3_1d_conver", DoubleType, nullable = true),
-      StructField("b3_1d_ecpm", DoubleType, nullable = true),
-      StructField("b3_1d_click", DoubleType, nullable = true),
-      StructField("b3_1d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_1d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_3d_ctr", DoubleType, nullable = true),
-      StructField("b3_3d_ctcvr", DoubleType, nullable = true),
-      StructField("b3_3d_cvr", DoubleType, nullable = true),
-      StructField("b3_3d_conver", DoubleType, nullable = true),
-      StructField("b3_3d_ecpm", DoubleType, nullable = true),
-      StructField("b3_3d_click", DoubleType, nullable = true),
-      StructField("b3_3d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_3d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_7d_ctr", DoubleType, nullable = true),
-      StructField("b3_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b3_7d_cvr", DoubleType, nullable = true),
-      StructField("b3_7d_conver", DoubleType, nullable = true),
-      StructField("b3_7d_ecpm", DoubleType, nullable = true),
-      StructField("b3_7d_click", DoubleType, nullable = true),
-      StructField("b3_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_today_ctr", DoubleType, nullable = true),
-      StructField("b3_today_ctcvr", DoubleType, nullable = true),
-      StructField("b3_today_cvr", DoubleType, nullable = true),
-      StructField("b3_today_conver", DoubleType, nullable = true),
-      StructField("b3_today_ecpm", DoubleType, nullable = true),
-      StructField("b3_today_click", DoubleType, nullable = true),
-      StructField("b3_today_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_today_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b3_yesterday_ctr", DoubleType, nullable = true),
-      StructField("b3_yesterday_ctcvr", DoubleType, nullable = true),
-      StructField("b3_yesterday_cvr", DoubleType, nullable = true),
-      StructField("b3_yesterday_conver", DoubleType, nullable = true),
-      StructField("b3_yesterday_ecpm", DoubleType, nullable = true),
-      StructField("b3_yesterday_click", DoubleType, nullable = true),
-      StructField("b3_yesterday_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b3_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_1h_ctr", DoubleType, nullable = true),
-      StructField("b4_1h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_1h_cvr", DoubleType, nullable = true),
-      StructField("b4_1h_conver", DoubleType, nullable = true),
-      StructField("b4_1h_ecpm", DoubleType, nullable = true),
-      StructField("b4_1h_click", DoubleType, nullable = true),
-      StructField("b4_1h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_1h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_2h_ctr", DoubleType, nullable = true),
-      StructField("b4_2h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_2h_cvr", DoubleType, nullable = true),
-      StructField("b4_2h_conver", DoubleType, nullable = true),
-      StructField("b4_2h_ecpm", DoubleType, nullable = true),
-      StructField("b4_2h_click", DoubleType, nullable = true),
-      StructField("b4_2h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_2h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_3h_ctr", DoubleType, nullable = true),
-      StructField("b4_3h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_3h_cvr", DoubleType, nullable = true),
-      StructField("b4_3h_conver", DoubleType, nullable = true),
-      StructField("b4_3h_ecpm", DoubleType, nullable = true),
-      StructField("b4_3h_click", DoubleType, nullable = true),
-      StructField("b9_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_today_ctr", DoubleType, nullable = true),
-      StructField("b9_today_ctcvr", DoubleType, nullable = true),
-      StructField("b9_today_cvr", DoubleType, nullable = true),
-      StructField("b9_today_conver", DoubleType, nullable = true),
-      StructField("b9_today_ecpm", DoubleType, nullable = true),
-      StructField("b9_today_click", DoubleType, nullable = true),
-      StructField("b9_today_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_today_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_yesterday_ctr", DoubleType, nullable = true),
-      StructField("b9_yesterday_ctcvr", DoubleType, nullable = true),
-      StructField("b9_yesterday_cvr", DoubleType, nullable = true),
-      StructField("b9_yesterday_conver", DoubleType, nullable = true),
-      StructField("b9_yesterday_ecpm", DoubleType, nullable = true),
-      StructField("b9_yesterday_click", DoubleType, nullable = true),
-      StructField("b9_yesterday_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b6_7d_ctr", DoubleType, nullable = true),
-      StructField("b6_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b6_7d_cvr", DoubleType, nullable = true),
-      StructField("b6_7d_conver", DoubleType, nullable = true),
-      StructField("b6_7d_ecpm", DoubleType, nullable = true),
-      StructField("b6_7d_click", DoubleType, nullable = true),
-      StructField("b6_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b6_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b6_14d_ctr", DoubleType, nullable = true),
-      StructField("b6_14d_ctcvr", DoubleType, nullable = true),
-      StructField("b6_14d_cvr", DoubleType, nullable = true),
-      StructField("b6_14d_conver", DoubleType, nullable = true),
-      StructField("b6_14d_ecpm", DoubleType, nullable = true),
-      StructField("b6_14d_click", DoubleType, nullable = true),
-      StructField("b6_14d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b6_14d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b7_7d_ctr", DoubleType, nullable = true),
-      StructField("b7_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b7_7d_cvr", DoubleType, nullable = true),
-      StructField("b7_7d_conver", DoubleType, nullable = true),
-      StructField("b7_7d_ecpm", DoubleType, nullable = true),
-      StructField("b7_7d_click", DoubleType, nullable = true),
-      StructField("b7_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b7_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b7_14d_ctr", DoubleType, nullable = true),
-      StructField("b5_12h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_1d_ctr", DoubleType, nullable = true),
-      StructField("b5_1d_ctcvr", DoubleType, nullable = true),
-      StructField("b5_1d_cvr", DoubleType, nullable = true),
-      StructField("b5_1d_conver", DoubleType, nullable = true),
-      StructField("b5_1d_ecpm", DoubleType, nullable = true),
-      StructField("b5_1d_click", DoubleType, nullable = true),
-      StructField("b5_1d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_1d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_3d_ctr", DoubleType, nullable = true),
-      StructField("b5_3d_ctcvr", DoubleType, nullable = true),
-      StructField("b5_3d_cvr", DoubleType, nullable = true),
-      StructField("b5_3d_conver", DoubleType, nullable = true),
-      StructField("b5_3d_ecpm", DoubleType, nullable = true),
-      StructField("b5_3d_click", DoubleType, nullable = true),
-      StructField("b5_3d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_3d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_7d_ctr", DoubleType, nullable = true),
-      StructField("b5_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b5_7d_cvr", DoubleType, nullable = true),
-      StructField("b5_7d_conver", DoubleType, nullable = true),
-      StructField("b5_7d_ecpm", DoubleType, nullable = true),
-      StructField("b5_7d_click", DoubleType, nullable = true),
-      StructField("b5_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_today_ctr", DoubleType, nullable = true),
-      StructField("b5_today_ctcvr", DoubleType, nullable = true),
-      StructField("b5_today_cvr", DoubleType, nullable = true),
-      StructField("b5_today_conver", DoubleType, nullable = true),
-      StructField("b5_today_ecpm", DoubleType, nullable = true),
-      StructField("b5_today_click", DoubleType, nullable = true),
-      StructField("b5_today_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_today_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b5_yesterday_ctr", DoubleType, nullable = true),
-      StructField("b5_yesterday_ctcvr", DoubleType, nullable = true),
-      StructField("b5_yesterday_cvr", DoubleType, nullable = true),
-      StructField("b5_yesterday_conver", DoubleType, nullable = true),
-      StructField("b5_yesterday_ecpm", DoubleType, nullable = true),
-      StructField("b5_yesterday_click", DoubleType, nullable = true),
-      StructField("b5_yesterday_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b5_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b8_1h_ctr", DoubleType, nullable = true),
-      StructField("b8_1h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_3h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_3h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_4h_ctr", DoubleType, nullable = true),
-      StructField("b4_4h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_4h_cvr", DoubleType, nullable = true),
-      StructField("b4_4h_conver", DoubleType, nullable = true),
-      StructField("b4_4h_ecpm", DoubleType, nullable = true),
-      StructField("b4_4h_click", DoubleType, nullable = true),
-      StructField("b4_4h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_4h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_5h_ctr", DoubleType, nullable = true),
-      StructField("b4_5h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_5h_cvr", DoubleType, nullable = true),
-      StructField("b4_5h_conver", DoubleType, nullable = true),
-      StructField("b4_5h_ecpm", DoubleType, nullable = true),
-      StructField("b4_5h_click", DoubleType, nullable = true),
-      StructField("b4_5h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_5h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_6h_ctr", DoubleType, nullable = true),
-      StructField("b4_6h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_6h_cvr", DoubleType, nullable = true),
-      StructField("b4_6h_conver", DoubleType, nullable = true),
-      StructField("b4_6h_ecpm", DoubleType, nullable = true),
-      StructField("b4_6h_click", DoubleType, nullable = true),
-      StructField("b4_6h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_6h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_12h_ctr", DoubleType, nullable = true),
-      StructField("b4_12h_ctcvr", DoubleType, nullable = true),
-      StructField("b4_12h_cvr", DoubleType, nullable = true),
-      StructField("b4_12h_conver", DoubleType, nullable = true),
-      StructField("b4_12h_ecpm", DoubleType, nullable = true),
-      StructField("b4_12h_click", DoubleType, nullable = true),
-      StructField("b4_12h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_12h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_1d_ctr", DoubleType, nullable = true),
-      StructField("b4_1d_ctcvr", DoubleType, nullable = true),
-      StructField("b4_1d_cvr", DoubleType, nullable = true),
-      StructField("b4_1d_conver", DoubleType, nullable = true),
-      StructField("b4_1d_ecpm", DoubleType, nullable = true),
-      StructField("b4_1d_click", DoubleType, nullable = true),
-      StructField("b4_1d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b4_1d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b4_3d_ctr", DoubleType, nullable = true),
-      StructField("b2_6h_cvr", DoubleType, nullable = true),
-      StructField("b2_6h_conver", DoubleType, nullable = true),
-      StructField("b2_6h_ecpm", DoubleType, nullable = true),
-      StructField("b2_6h_click", DoubleType, nullable = true),
-      StructField("b2_6h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_6h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_12h_ctr", DoubleType, nullable = true),
-      StructField("b2_12h_ctcvr", DoubleType, nullable = true),
-      StructField("b2_12h_cvr", DoubleType, nullable = true),
-      StructField("b2_12h_conver", DoubleType, nullable = true),
-      StructField("b2_12h_ecpm", DoubleType, nullable = true),
-      StructField("b2_12h_click", DoubleType, nullable = true),
-      StructField("b2_12h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_12h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_1d_ctr", DoubleType, nullable = true),
-      StructField("b2_1d_ctcvr", DoubleType, nullable = true),
-      StructField("b2_1d_cvr", DoubleType, nullable = true),
-      StructField("b2_1d_conver", DoubleType, nullable = true),
-      StructField("b2_1d_ecpm", DoubleType, nullable = true),
-      StructField("b2_1d_click", DoubleType, nullable = true),
-      StructField("b2_1d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_1d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_3d_ctr", DoubleType, nullable = true),
-      StructField("b2_3d_ctcvr", DoubleType, nullable = true),
-      StructField("b2_3d_cvr", DoubleType, nullable = true),
-      StructField("b2_3d_conver", DoubleType, nullable = true),
-      StructField("b2_3d_ecpm", DoubleType, nullable = true),
-      StructField("b2_3d_click", DoubleType, nullable = true),
-      StructField("b2_3d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_3d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_7d_ctr", DoubleType, nullable = true),
-      StructField("b2_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b2_7d_cvr", DoubleType, nullable = true),
-      StructField("b2_7d_conver", DoubleType, nullable = true),
-      StructField("b2_7d_ecpm", DoubleType, nullable = true),
-      StructField("b2_7d_click", DoubleType, nullable = true),
-      StructField("b2_7d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_7d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_today_ctr", DoubleType, nullable = true),
-      StructField("b2_today_ctcvr", DoubleType, nullable = true),
-      StructField("b2_today_cvr", DoubleType, nullable = true),
-      StructField("b2_today_conver", DoubleType, nullable = true),
-      StructField("b2_today_ecpm", DoubleType, nullable = true),
-      StructField("cpa", DoubleType, nullable = true),
-      StructField("b2_1h_ctr", DoubleType, nullable = true),
-      StructField("b2_1h_ctcvr", DoubleType, nullable = true),
-      StructField("b2_1h_cvr", DoubleType, nullable = true),
-      StructField("b2_1h_conver", DoubleType, nullable = true),
-      StructField("b2_1h_ecpm", DoubleType, nullable = true),
-      StructField("b2_1h_click", DoubleType, nullable = true),
-      StructField("b2_1h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_1h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_2h_ctr", DoubleType, nullable = true),
-      StructField("b2_2h_ctcvr", DoubleType, nullable = true),
-      StructField("b2_2h_cvr", DoubleType, nullable = true),
-      StructField("b2_2h_conver", DoubleType, nullable = true),
-      StructField("b2_2h_ecpm", DoubleType, nullable = true),
-      StructField("b2_2h_click", DoubleType, nullable = true),
-      StructField("b2_2h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_2h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_3h_ctr", DoubleType, nullable = true),
-      StructField("b2_3h_ctcvr", DoubleType, nullable = true),
-      StructField("b2_3h_cvr", DoubleType, nullable = true),
-      StructField("b2_3h_conver", DoubleType, nullable = true),
-      StructField("b2_3h_ecpm", DoubleType, nullable = true),
-      StructField("b2_3h_click", DoubleType, nullable = true),
-      StructField("b2_3h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_3h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_4h_ctr", DoubleType, nullable = true),
-      StructField("b2_4h_ctcvr", DoubleType, nullable = true),
-      StructField("b2_4h_cvr", DoubleType, nullable = true),
-      StructField("b2_4h_conver", DoubleType, nullable = true),
-      StructField("b2_4h_ecpm", DoubleType, nullable = true),
-      StructField("b2_4h_click", DoubleType, nullable = true),
-      StructField("b2_4h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_4h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_5h_ctr", DoubleType, nullable = true),
-      StructField("b2_5h_ctcvr", DoubleType, nullable = true),
-      StructField("b2_5h_cvr", DoubleType, nullable = true),
-      StructField("b2_5h_conver", DoubleType, nullable = true),
-      StructField("b2_5h_ecpm", DoubleType, nullable = true),
-      StructField("b2_5h_click", DoubleType, nullable = true),
-      StructField("b2_5h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b2_5h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b2_6h_ctr", DoubleType, nullable = true),
-      StructField("b2_6h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_5h_conver", DoubleType, nullable = true),
-      StructField("b9_5h_ecpm", DoubleType, nullable = true),
-      StructField("b9_5h_click", DoubleType, nullable = true),
-      StructField("b9_5h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_5h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_6h_ctr", DoubleType, nullable = true),
-      StructField("b9_6h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_6h_cvr", DoubleType, nullable = true),
-      StructField("b9_6h_conver", DoubleType, nullable = true),
-      StructField("b9_6h_ecpm", DoubleType, nullable = true),
-      StructField("b9_6h_click", DoubleType, nullable = true),
-      StructField("b9_6h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_6h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_12h_ctr", DoubleType, nullable = true),
-      StructField("b9_12h_ctcvr", DoubleType, nullable = true),
-      StructField("b9_12h_cvr", DoubleType, nullable = true),
-      StructField("b9_12h_conver", DoubleType, nullable = true),
-      StructField("b9_12h_ecpm", DoubleType, nullable = true),
-      StructField("b9_12h_click", DoubleType, nullable = true),
-      StructField("b9_12h_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_12h_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_1d_ctr", DoubleType, nullable = true),
-      StructField("b9_1d_ctcvr", DoubleType, nullable = true),
-      StructField("b9_1d_cvr", DoubleType, nullable = true),
-      StructField("b9_1d_conver", DoubleType, nullable = true),
-      StructField("b9_1d_ecpm", DoubleType, nullable = true),
-      StructField("b9_1d_click", DoubleType, nullable = true),
-      StructField("b9_1d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_1d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_3d_ctr", DoubleType, nullable = true),
-      StructField("b9_3d_ctcvr", DoubleType, nullable = true),
-      StructField("b9_3d_cvr", DoubleType, nullable = true),
-      StructField("b9_3d_conver", DoubleType, nullable = true),
-      StructField("b9_3d_ecpm", DoubleType, nullable = true),
-      StructField("b9_3d_click", DoubleType, nullable = true),
-      StructField("b9_3d_conver_x_log_view", DoubleType, nullable = true),
-      StructField("b9_3d_conver_x_ctcvr", DoubleType, nullable = true),
-      StructField("b9_7d_ctr", DoubleType, nullable = true),
-      StructField("b9_7d_ctcvr", DoubleType, nullable = true),
-      StructField("b9_7d_cvr", DoubleType, nullable = true),
-      StructField("b9_7d_conver", DoubleType, nullable = true),
-      StructField("b9_7d_ecpm", DoubleType, nullable = true),
-      StructField("b9_7d_click", DoubleType, nullable = true),
-      StructField("weight", DoubleType, nullable = true),
-      StructField("dt", StringType, nullable = true)
-    ))
-
 
-    // 创建 DataFrame
-    val df = spark.createDataFrame(spark.sparkContext.parallelize(rows), schema)
+//    val schema = StructType(Seq(
+//      StructField("has_click", LongType, nullable = true),
+//      StructField("has_conversion", LongType, nullable = true),
+//      StructField("b8_yesterday_ctr", DoubleType, nullable = true),
+//      StructField("b8_yesterday_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_yesterday_cvr", DoubleType, nullable = true),
+//      StructField("b8_yesterday_conver", DoubleType, nullable = true),
+//      StructField("b8_yesterday_ecpm", DoubleType, nullable = true),
+//      StructField("b8_yesterday_click", DoubleType, nullable = true),
+//      StructField("b8_yesterday_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_1h_ctr", DoubleType, nullable = true),
+//      StructField("b9_1h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_1h_cvr", DoubleType, nullable = true),
+//      StructField("b9_1h_conver", DoubleType, nullable = true),
+//      StructField("b9_1h_ecpm", DoubleType, nullable = true),
+//      StructField("b9_1h_click", DoubleType, nullable = true),
+//      StructField("b9_1h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_1h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_2h_ctr", DoubleType, nullable = true),
+//      StructField("b9_2h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_2h_cvr", DoubleType, nullable = true),
+//      StructField("b9_2h_conver", DoubleType, nullable = true),
+//      StructField("b9_2h_ecpm", DoubleType, nullable = true),
+//      StructField("b9_2h_click", DoubleType, nullable = true),
+//      StructField("b9_2h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_2h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_3h_ctr", DoubleType, nullable = true),
+//      StructField("b9_3h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_3h_cvr", DoubleType, nullable = true),
+//      StructField("b9_3h_conver", DoubleType, nullable = true),
+//      StructField("b9_3h_ecpm", DoubleType, nullable = true),
+//      StructField("b9_3h_click", DoubleType, nullable = true),
+//      StructField("b9_3h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_3h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_4h_ctr", DoubleType, nullable = true),
+//      StructField("b9_4h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_4h_cvr", DoubleType, nullable = true),
+//      StructField("b9_4h_conver", DoubleType, nullable = true),
+//      StructField("b9_4h_ecpm", DoubleType, nullable = true),
+//      StructField("b9_4h_click", DoubleType, nullable = true),
+//      StructField("b9_4h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_4h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_5h_ctr", DoubleType, nullable = true),
+//      StructField("b9_5h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_5h_cvr", DoubleType, nullable = true),
+//      StructField("b7_14d_ctcvr", DoubleType, nullable = true),
+//      StructField("b7_14d_cvr", DoubleType, nullable = true),
+//      StructField("b7_14d_conver", DoubleType, nullable = true),
+//      StructField("b7_14d_ecpm", DoubleType, nullable = true),
+//      StructField("b7_14d_click", DoubleType, nullable = true),
+//      StructField("b7_14d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b7_14d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("viewall", DoubleType, nullable = true),
+//      StructField("clickall", DoubleType, nullable = true),
+//      StructField("converall", DoubleType, nullable = true),
+//      StructField("incomeall", DoubleType, nullable = true),
+//      StructField("ctr_all", DoubleType, nullable = true),
+//      StructField("ctcvr_all", DoubleType, nullable = true),
+//      StructField("cvr_all", DoubleType, nullable = true),
+//      StructField("ecpm_all", DoubleType, nullable = true),
+//      StructField("timediff_view", DoubleType, nullable = true),
+//      StructField("timediff_click", DoubleType, nullable = true),
+//      StructField("timediff_conver", DoubleType, nullable = true),
+//      StructField("actionstatic_view", DoubleType, nullable = true),
+//      StructField("actionstatic_click", DoubleType, nullable = true),
+//      StructField("actionstatic_conver", DoubleType, nullable = true),
+//      StructField("actionstatic_income", DoubleType, nullable = true),
+//      StructField("actionstatic_ctr", DoubleType, nullable = true),
+//      StructField("actionstatic_ctcvr", DoubleType, nullable = true),
+//      StructField("actionstatic_cvr", DoubleType, nullable = true),
+//      StructField("e1_tags_3d_matchnum", DoubleType, nullable = true),
+//      StructField("e1_tags_3d_maxscore", DoubleType, nullable = true),
+//      StructField("e1_tags_3d_avgscore", DoubleType, nullable = true),
+//      StructField("e1_tags_7d_matchnum", DoubleType, nullable = true),
+//      StructField("e1_tags_7d_maxscore", DoubleType, nullable = true),
+//      StructField("e1_tags_7d_avgscore", DoubleType, nullable = true),
+//      StructField("e1_tags_14d_matchnum", DoubleType, nullable = true),
+//      StructField("e1_tags_14d_maxscore", DoubleType, nullable = true),
+//      StructField("e1_tags_14d_avgscore", DoubleType, nullable = true),
+//      StructField("e2_tags_3d_matchnum", DoubleType, nullable = true),
+//      StructField("e2_tags_3d_maxscore", DoubleType, nullable = true),
+//      StructField("e2_tags_3d_avgscore", DoubleType, nullable = true),
+//      StructField("e2_tags_7d_matchnum", DoubleType, nullable = true),
+//      StructField("e2_tags_7d_maxscore", DoubleType, nullable = true),
+//      StructField("e2_tags_7d_avgscore", DoubleType, nullable = true),
+//      StructField("e2_tags_14d_matchnum", DoubleType, nullable = true),
+//      StructField("e2_tags_14d_maxscore", DoubleType, nullable = true),
+//      StructField("e2_tags_14d_avgscore", DoubleType, nullable = true),
+//      StructField("b8_1h_cvr", DoubleType, nullable = true),
+//      StructField("b8_1h_conver", DoubleType, nullable = true),
+//      StructField("b8_1h_ecpm", DoubleType, nullable = true),
+//      StructField("b8_1h_click", DoubleType, nullable = true),
+//      StructField("b8_1h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_1h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_2h_ctr", DoubleType, nullable = true),
+//      StructField("b8_2h_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_2h_cvr", DoubleType, nullable = true),
+//      StructField("b8_2h_conver", DoubleType, nullable = true),
+//      StructField("b8_2h_ecpm", DoubleType, nullable = true),
+//      StructField("b8_2h_click", DoubleType, nullable = true),
+//      StructField("b8_2h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_2h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_3h_ctr", DoubleType, nullable = true),
+//      StructField("b8_3h_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_3h_cvr", DoubleType, nullable = true),
+//      StructField("b8_3h_conver", DoubleType, nullable = true),
+//      StructField("b8_3h_ecpm", DoubleType, nullable = true),
+//      StructField("b8_3h_click", DoubleType, nullable = true),
+//      StructField("b8_3h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_3h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_4h_ctr", DoubleType, nullable = true),
+//      StructField("b8_4h_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_4h_cvr", DoubleType, nullable = true),
+//      StructField("b8_4h_conver", DoubleType, nullable = true),
+//      StructField("b8_4h_ecpm", DoubleType, nullable = true),
+//      StructField("b8_4h_click", DoubleType, nullable = true),
+//      StructField("b8_4h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_4h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_5h_ctr", DoubleType, nullable = true),
+//      StructField("b8_5h_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_5h_cvr", DoubleType, nullable = true),
+//      StructField("b8_5h_conver", DoubleType, nullable = true),
+//      StructField("b8_5h_ecpm", DoubleType, nullable = true),
+//      StructField("b8_5h_click", DoubleType, nullable = true),
+//      StructField("b8_5h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_5h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_6h_ctr", DoubleType, nullable = true),
+//      StructField("b8_6h_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_6h_cvr", DoubleType, nullable = true),
+//      StructField("b8_6h_conver", DoubleType, nullable = true),
+//      StructField("b8_6h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_3d_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_3d_cvr", DoubleType, nullable = true),
+//      StructField("b4_3d_conver", DoubleType, nullable = true),
+//      StructField("b4_3d_ecpm", DoubleType, nullable = true),
+//      StructField("b4_3d_click", DoubleType, nullable = true),
+//      StructField("b4_3d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_3d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_7d_ctr", DoubleType, nullable = true),
+//      StructField("b4_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_7d_cvr", DoubleType, nullable = true),
+//      StructField("b4_7d_conver", DoubleType, nullable = true),
+//      StructField("b4_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b4_7d_click", DoubleType, nullable = true),
+//      StructField("b4_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_today_ctr", DoubleType, nullable = true),
+//      StructField("b4_today_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_today_cvr", DoubleType, nullable = true),
+//      StructField("b4_today_conver", DoubleType, nullable = true),
+//      StructField("b4_today_ecpm", DoubleType, nullable = true),
+//      StructField("b4_today_click", DoubleType, nullable = true),
+//      StructField("b4_today_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_today_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_yesterday_ctr", DoubleType, nullable = true),
+//      StructField("b4_yesterday_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_yesterday_cvr", DoubleType, nullable = true),
+//      StructField("b4_yesterday_conver", DoubleType, nullable = true),
+//      StructField("b4_yesterday_ecpm", DoubleType, nullable = true),
+//      StructField("b4_yesterday_click", DoubleType, nullable = true),
+//      StructField("b4_yesterday_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_1h_ctr", DoubleType, nullable = true),
+//      StructField("b5_1h_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_1h_cvr", DoubleType, nullable = true),
+//      StructField("b5_1h_conver", DoubleType, nullable = true),
+//      StructField("b5_1h_ecpm", DoubleType, nullable = true),
+//      StructField("b5_1h_click", DoubleType, nullable = true),
+//      StructField("b5_1h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_1h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_2h_ctr", DoubleType, nullable = true),
+//      StructField("b5_2h_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_2h_cvr", DoubleType, nullable = true),
+//      StructField("b5_2h_conver", DoubleType, nullable = true),
+//      StructField("d1_feature_3h_ctr", DoubleType, nullable = true),
+//      StructField("d1_feature_3h_ctcvr", DoubleType, nullable = true),
+//      StructField("d1_feature_3h_cvr", DoubleType, nullable = true),
+//      StructField("d1_feature_3h_conver", DoubleType, nullable = true),
+//      StructField("d1_feature_3h_ecpm", DoubleType, nullable = true),
+//      StructField("d1_feature_6h_ctr", DoubleType, nullable = true),
+//      StructField("d1_feature_6h_ctcvr", DoubleType, nullable = true),
+//      StructField("d1_feature_6h_cvr", DoubleType, nullable = true),
+//      StructField("d1_feature_6h_conver", DoubleType, nullable = true),
+//      StructField("d1_feature_6h_ecpm", DoubleType, nullable = true),
+//      StructField("d1_feature_12h_ctr", DoubleType, nullable = true),
+//      StructField("d1_feature_12h_ctcvr", DoubleType, nullable = true),
+//      StructField("d1_feature_12h_cvr", DoubleType, nullable = true),
+//      StructField("d1_feature_12h_conver", DoubleType, nullable = true),
+//      StructField("d1_feature_12h_ecpm", DoubleType, nullable = true),
+//      StructField("d1_feature_1d_ctr", DoubleType, nullable = true),
+//      StructField("d1_feature_1d_ctcvr", DoubleType, nullable = true),
+//      StructField("d1_feature_1d_cvr", DoubleType, nullable = true),
+//      StructField("d1_feature_1d_conver", DoubleType, nullable = true),
+//      StructField("d1_feature_1d_ecpm", DoubleType, nullable = true),
+//      StructField("d1_feature_3d_ctr", DoubleType, nullable = true),
+//      StructField("d1_feature_3d_ctcvr", DoubleType, nullable = true),
+//      StructField("d1_feature_3d_cvr", DoubleType, nullable = true),
+//      StructField("d1_feature_3d_conver", DoubleType, nullable = true),
+//      StructField("d1_feature_3d_ecpm", DoubleType, nullable = true),
+//      StructField("d1_feature_7d_ctr", DoubleType, nullable = true),
+//      StructField("d1_feature_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("d1_feature_7d_cvr", DoubleType, nullable = true),
+//      StructField("d1_feature_7d_conver", DoubleType, nullable = true),
+//      StructField("d1_feature_7d_ecpm", DoubleType, nullable = true),
+//      StructField("vid_rank_ctr_1d", DoubleType, nullable = true),
+//      StructField("vid_rank_ctr_3d", DoubleType, nullable = true),
+//      StructField("vid_rank_ctr_7d", DoubleType, nullable = true),
+//      StructField("vid_rank_ctr_14d", DoubleType, nullable = true),
+//      StructField("vid_rank_ctcvr_1d", DoubleType, nullable = true),
+//      StructField("vid_rank_ctcvr_3d", DoubleType, nullable = true),
+//      StructField("vid_rank_ctcvr_7d", DoubleType, nullable = true),
+//      StructField("vid_rank_ctcvr_14d", DoubleType, nullable = true),
+//      StructField("vid_rank_ecpm_1d", DoubleType, nullable = true),
+//      StructField("vid_rank_ecpm_3d", DoubleType, nullable = true),
+//      StructField("vid_rank_ecpm_7d", DoubleType, nullable = true),
+//      StructField("vid_rank_ecpm_14d", DoubleType, nullable = true),
+//      StructField("ctitle_vtitle_similarity", DoubleType, nullable = true),
+//      StructField("b5_2h_ecpm", DoubleType, nullable = true),
+//      StructField("b5_2h_click", DoubleType, nullable = true),
+//      StructField("b5_2h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_2h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_3h_ctr", DoubleType, nullable = true),
+//      StructField("b5_3h_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_3h_cvr", DoubleType, nullable = true),
+//      StructField("b5_3h_conver", DoubleType, nullable = true),
+//      StructField("b5_3h_ecpm", DoubleType, nullable = true),
+//      StructField("b5_3h_click", DoubleType, nullable = true),
+//      StructField("b5_3h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_3h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_4h_ctr", DoubleType, nullable = true),
+//      StructField("b5_4h_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_4h_cvr", DoubleType, nullable = true),
+//      StructField("b5_4h_conver", DoubleType, nullable = true),
+//      StructField("b5_4h_ecpm", DoubleType, nullable = true),
+//      StructField("b5_4h_click", DoubleType, nullable = true),
+//      StructField("b5_4h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_4h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_5h_ctr", DoubleType, nullable = true),
+//      StructField("b5_5h_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_5h_cvr", DoubleType, nullable = true),
+//      StructField("b5_5h_conver", DoubleType, nullable = true),
+//      StructField("b5_5h_ecpm", DoubleType, nullable = true),
+//      StructField("b5_5h_click", DoubleType, nullable = true),
+//      StructField("b5_5h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_5h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_6h_ctr", DoubleType, nullable = true),
+//      StructField("b5_6h_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_6h_cvr", DoubleType, nullable = true),
+//      StructField("b5_6h_conver", DoubleType, nullable = true),
+//      StructField("b5_6h_ecpm", DoubleType, nullable = true),
+//      StructField("b5_6h_click", DoubleType, nullable = true),
+//      StructField("b5_6h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_6h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_12h_ctr", DoubleType, nullable = true),
+//      StructField("b5_12h_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_12h_cvr", DoubleType, nullable = true),
+//      StructField("b5_12h_conver", DoubleType, nullable = true),
+//      StructField("b5_12h_ecpm", DoubleType, nullable = true),
+//      StructField("b5_12h_click", DoubleType, nullable = true),
+//      StructField("b5_12h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_6h_click", DoubleType, nullable = true),
+//      StructField("b8_6h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_6h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_12h_ctr", DoubleType, nullable = true),
+//      StructField("b8_12h_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_12h_cvr", DoubleType, nullable = true),
+//      StructField("b8_12h_conver", DoubleType, nullable = true),
+//      StructField("b8_12h_ecpm", DoubleType, nullable = true),
+//      StructField("b8_12h_click", DoubleType, nullable = true),
+//      StructField("b8_12h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_12h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_1d_ctr", DoubleType, nullable = true),
+//      StructField("b8_1d_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_1d_cvr", DoubleType, nullable = true),
+//      StructField("b8_1d_conver", DoubleType, nullable = true),
+//      StructField("b8_1d_ecpm", DoubleType, nullable = true),
+//      StructField("b8_1d_click", DoubleType, nullable = true),
+//      StructField("b8_1d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_1d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_3d_ctr", DoubleType, nullable = true),
+//      StructField("b8_3d_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_3d_cvr", DoubleType, nullable = true),
+//      StructField("b8_3d_conver", DoubleType, nullable = true),
+//      StructField("b8_3d_ecpm", DoubleType, nullable = true),
+//      StructField("b8_3d_click", DoubleType, nullable = true),
+//      StructField("b8_3d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_3d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_7d_ctr", DoubleType, nullable = true),
+//      StructField("b8_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_7d_cvr", DoubleType, nullable = true),
+//      StructField("b8_7d_conver", DoubleType, nullable = true),
+//      StructField("b8_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b8_7d_click", DoubleType, nullable = true),
+//      StructField("b8_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_today_ctr", DoubleType, nullable = true),
+//      StructField("b8_today_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_today_cvr", DoubleType, nullable = true),
+//      StructField("b8_today_conver", DoubleType, nullable = true),
+//      StructField("b8_today_ecpm", DoubleType, nullable = true),
+//      StructField("b8_today_click", DoubleType, nullable = true),
+//      StructField("b8_today_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b8_today_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_today_click", DoubleType, nullable = true),
+//      StructField("b2_today_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_today_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_yesterday_ctr", DoubleType, nullable = true),
+//      StructField("b2_yesterday_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_yesterday_cvr", DoubleType, nullable = true),
+//      StructField("b2_yesterday_conver", DoubleType, nullable = true),
+//      StructField("b2_yesterday_ecpm", DoubleType, nullable = true),
+//      StructField("b2_yesterday_click", DoubleType, nullable = true),
+//      StructField("b2_yesterday_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_1h_ctr", DoubleType, nullable = true),
+//      StructField("b3_1h_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_1h_cvr", DoubleType, nullable = true),
+//      StructField("b3_1h_conver", DoubleType, nullable = true),
+//      StructField("b3_1h_ecpm", DoubleType, nullable = true),
+//      StructField("b3_1h_click", DoubleType, nullable = true),
+//      StructField("b3_1h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_1h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_2h_ctr", DoubleType, nullable = true),
+//      StructField("b3_2h_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_2h_cvr", DoubleType, nullable = true),
+//      StructField("b3_2h_conver", DoubleType, nullable = true),
+//      StructField("b3_2h_ecpm", DoubleType, nullable = true),
+//      StructField("b3_2h_click", DoubleType, nullable = true),
+//      StructField("b3_2h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_2h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_3h_ctr", DoubleType, nullable = true),
+//      StructField("b3_3h_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_3h_cvr", DoubleType, nullable = true),
+//      StructField("b3_3h_conver", DoubleType, nullable = true),
+//      StructField("b3_3h_ecpm", DoubleType, nullable = true),
+//      StructField("b3_3h_click", DoubleType, nullable = true),
+//      StructField("b3_3h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_3h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_4h_ctr", DoubleType, nullable = true),
+//      StructField("b3_4h_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_4h_cvr", DoubleType, nullable = true),
+//      StructField("b3_4h_conver", DoubleType, nullable = true),
+//      StructField("b3_4h_ecpm", DoubleType, nullable = true),
+//      StructField("b3_4h_click", DoubleType, nullable = true),
+//      StructField("b3_4h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_4h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_5h_ctr", DoubleType, nullable = true),
+//      StructField("b3_5h_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_5h_cvr", DoubleType, nullable = true),
+//      StructField("b3_5h_conver", DoubleType, nullable = true),
+//      StructField("b3_5h_ecpm", DoubleType, nullable = true),
+//      StructField("b3_5h_click", DoubleType, nullable = true),
+//      StructField("b3_5h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_5h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_6h_ctr", DoubleType, nullable = true),
+//      StructField("b3_6h_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_6h_cvr", DoubleType, nullable = true),
+//      StructField("b3_6h_conver", DoubleType, nullable = true),
+//      StructField("b3_6h_ecpm", DoubleType, nullable = true),
+//      StructField("b3_6h_click", DoubleType, nullable = true),
+//      StructField("b3_6h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_6h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_12h_ctr", DoubleType, nullable = true),
+//      StructField("b3_12h_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_12h_cvr", DoubleType, nullable = true),
+//      StructField("b3_12h_conver", DoubleType, nullable = true),
+//      StructField("b3_12h_ecpm", DoubleType, nullable = true),
+//      StructField("b3_12h_click", DoubleType, nullable = true),
+//      StructField("b3_12h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_12h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_1d_ctr", DoubleType, nullable = true),
+//      StructField("b3_1d_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_1d_cvr", DoubleType, nullable = true),
+//      StructField("b3_1d_conver", DoubleType, nullable = true),
+//      StructField("b3_1d_ecpm", DoubleType, nullable = true),
+//      StructField("b3_1d_click", DoubleType, nullable = true),
+//      StructField("b3_1d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_1d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_3d_ctr", DoubleType, nullable = true),
+//      StructField("b3_3d_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_3d_cvr", DoubleType, nullable = true),
+//      StructField("b3_3d_conver", DoubleType, nullable = true),
+//      StructField("b3_3d_ecpm", DoubleType, nullable = true),
+//      StructField("b3_3d_click", DoubleType, nullable = true),
+//      StructField("b3_3d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_3d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_7d_ctr", DoubleType, nullable = true),
+//      StructField("b3_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_7d_cvr", DoubleType, nullable = true),
+//      StructField("b3_7d_conver", DoubleType, nullable = true),
+//      StructField("b3_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b3_7d_click", DoubleType, nullable = true),
+//      StructField("b3_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_today_ctr", DoubleType, nullable = true),
+//      StructField("b3_today_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_today_cvr", DoubleType, nullable = true),
+//      StructField("b3_today_conver", DoubleType, nullable = true),
+//      StructField("b3_today_ecpm", DoubleType, nullable = true),
+//      StructField("b3_today_click", DoubleType, nullable = true),
+//      StructField("b3_today_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_today_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_yesterday_ctr", DoubleType, nullable = true),
+//      StructField("b3_yesterday_ctcvr", DoubleType, nullable = true),
+//      StructField("b3_yesterday_cvr", DoubleType, nullable = true),
+//      StructField("b3_yesterday_conver", DoubleType, nullable = true),
+//      StructField("b3_yesterday_ecpm", DoubleType, nullable = true),
+//      StructField("b3_yesterday_click", DoubleType, nullable = true),
+//      StructField("b3_yesterday_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b3_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_1h_ctr", DoubleType, nullable = true),
+//      StructField("b4_1h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_1h_cvr", DoubleType, nullable = true),
+//      StructField("b4_1h_conver", DoubleType, nullable = true),
+//      StructField("b4_1h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_1h_click", DoubleType, nullable = true),
+//      StructField("b4_1h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_1h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_2h_ctr", DoubleType, nullable = true),
+//      StructField("b4_2h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_2h_cvr", DoubleType, nullable = true),
+//      StructField("b4_2h_conver", DoubleType, nullable = true),
+//      StructField("b4_2h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_2h_click", DoubleType, nullable = true),
+//      StructField("b4_2h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_2h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_3h_ctr", DoubleType, nullable = true),
+//      StructField("b4_3h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_3h_cvr", DoubleType, nullable = true),
+//      StructField("b4_3h_conver", DoubleType, nullable = true),
+//      StructField("b4_3h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_3h_click", DoubleType, nullable = true),
+//      StructField("b9_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_today_ctr", DoubleType, nullable = true),
+//      StructField("b9_today_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_today_cvr", DoubleType, nullable = true),
+//      StructField("b9_today_conver", DoubleType, nullable = true),
+//      StructField("b9_today_ecpm", DoubleType, nullable = true),
+//      StructField("b9_today_click", DoubleType, nullable = true),
+//      StructField("b9_today_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_today_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_yesterday_ctr", DoubleType, nullable = true),
+//      StructField("b9_yesterday_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_yesterday_cvr", DoubleType, nullable = true),
+//      StructField("b9_yesterday_conver", DoubleType, nullable = true),
+//      StructField("b9_yesterday_ecpm", DoubleType, nullable = true),
+//      StructField("b9_yesterday_click", DoubleType, nullable = true),
+//      StructField("b9_yesterday_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b6_7d_ctr", DoubleType, nullable = true),
+//      StructField("b6_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b6_7d_cvr", DoubleType, nullable = true),
+//      StructField("b6_7d_conver", DoubleType, nullable = true),
+//      StructField("b6_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b6_7d_click", DoubleType, nullable = true),
+//      StructField("b6_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b6_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b6_14d_ctr", DoubleType, nullable = true),
+//      StructField("b6_14d_ctcvr", DoubleType, nullable = true),
+//      StructField("b6_14d_cvr", DoubleType, nullable = true),
+//      StructField("b6_14d_conver", DoubleType, nullable = true),
+//      StructField("b6_14d_ecpm", DoubleType, nullable = true),
+//      StructField("b6_14d_click", DoubleType, nullable = true),
+//      StructField("b6_14d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b6_14d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b7_7d_ctr", DoubleType, nullable = true),
+//      StructField("b7_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b7_7d_cvr", DoubleType, nullable = true),
+//      StructField("b7_7d_conver", DoubleType, nullable = true),
+//      StructField("b7_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b7_7d_click", DoubleType, nullable = true),
+//      StructField("b7_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b7_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b7_14d_ctr", DoubleType, nullable = true),
+//      StructField("b5_12h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_1d_ctr", DoubleType, nullable = true),
+//      StructField("b5_1d_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_1d_cvr", DoubleType, nullable = true),
+//      StructField("b5_1d_conver", DoubleType, nullable = true),
+//      StructField("b5_1d_ecpm", DoubleType, nullable = true),
+//      StructField("b5_1d_click", DoubleType, nullable = true),
+//      StructField("b5_1d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_1d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_3d_ctr", DoubleType, nullable = true),
+//      StructField("b5_3d_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_3d_cvr", DoubleType, nullable = true),
+//      StructField("b5_3d_conver", DoubleType, nullable = true),
+//      StructField("b5_3d_ecpm", DoubleType, nullable = true),
+//      StructField("b5_3d_click", DoubleType, nullable = true),
+//      StructField("b5_3d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_3d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_7d_ctr", DoubleType, nullable = true),
+//      StructField("b5_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_7d_cvr", DoubleType, nullable = true),
+//      StructField("b5_7d_conver", DoubleType, nullable = true),
+//      StructField("b5_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b5_7d_click", DoubleType, nullable = true),
+//      StructField("b5_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_today_ctr", DoubleType, nullable = true),
+//      StructField("b5_today_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_today_cvr", DoubleType, nullable = true),
+//      StructField("b5_today_conver", DoubleType, nullable = true),
+//      StructField("b5_today_ecpm", DoubleType, nullable = true),
+//      StructField("b5_today_click", DoubleType, nullable = true),
+//      StructField("b5_today_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_today_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_yesterday_ctr", DoubleType, nullable = true),
+//      StructField("b5_yesterday_ctcvr", DoubleType, nullable = true),
+//      StructField("b5_yesterday_cvr", DoubleType, nullable = true),
+//      StructField("b5_yesterday_conver", DoubleType, nullable = true),
+//      StructField("b5_yesterday_ecpm", DoubleType, nullable = true),
+//      StructField("b5_yesterday_click", DoubleType, nullable = true),
+//      StructField("b5_yesterday_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b5_yesterday_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b8_1h_ctr", DoubleType, nullable = true),
+//      StructField("b8_1h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_3h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_3h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_4h_ctr", DoubleType, nullable = true),
+//      StructField("b4_4h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_4h_cvr", DoubleType, nullable = true),
+//      StructField("b4_4h_conver", DoubleType, nullable = true),
+//      StructField("b4_4h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_4h_click", DoubleType, nullable = true),
+//      StructField("b4_4h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_4h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_5h_ctr", DoubleType, nullable = true),
+//      StructField("b4_5h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_5h_cvr", DoubleType, nullable = true),
+//      StructField("b4_5h_conver", DoubleType, nullable = true),
+//      StructField("b4_5h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_5h_click", DoubleType, nullable = true),
+//      StructField("b4_5h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_5h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_6h_ctr", DoubleType, nullable = true),
+//      StructField("b4_6h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_6h_cvr", DoubleType, nullable = true),
+//      StructField("b4_6h_conver", DoubleType, nullable = true),
+//      StructField("b4_6h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_6h_click", DoubleType, nullable = true),
+//      StructField("b4_6h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_6h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_12h_ctr", DoubleType, nullable = true),
+//      StructField("b4_12h_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_12h_cvr", DoubleType, nullable = true),
+//      StructField("b4_12h_conver", DoubleType, nullable = true),
+//      StructField("b4_12h_ecpm", DoubleType, nullable = true),
+//      StructField("b4_12h_click", DoubleType, nullable = true),
+//      StructField("b4_12h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_12h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_1d_ctr", DoubleType, nullable = true),
+//      StructField("b4_1d_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_1d_cvr", DoubleType, nullable = true),
+//      StructField("b4_1d_conver", DoubleType, nullable = true),
+//      StructField("b4_1d_ecpm", DoubleType, nullable = true),
+//      StructField("b4_1d_click", DoubleType, nullable = true),
+//      StructField("b4_1d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b4_1d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b4_3d_ctr", DoubleType, nullable = true),
+//      StructField("b2_6h_cvr", DoubleType, nullable = true),
+//      StructField("b2_6h_conver", DoubleType, nullable = true),
+//      StructField("b2_6h_ecpm", DoubleType, nullable = true),
+//      StructField("b2_6h_click", DoubleType, nullable = true),
+//      StructField("b2_6h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_6h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_12h_ctr", DoubleType, nullable = true),
+//      StructField("b2_12h_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_12h_cvr", DoubleType, nullable = true),
+//      StructField("b2_12h_conver", DoubleType, nullable = true),
+//      StructField("b2_12h_ecpm", DoubleType, nullable = true),
+//      StructField("b2_12h_click", DoubleType, nullable = true),
+//      StructField("b2_12h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_12h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_1d_ctr", DoubleType, nullable = true),
+//      StructField("b2_1d_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_1d_cvr", DoubleType, nullable = true),
+//      StructField("b2_1d_conver", DoubleType, nullable = true),
+//      StructField("b2_1d_ecpm", DoubleType, nullable = true),
+//      StructField("b2_1d_click", DoubleType, nullable = true),
+//      StructField("b2_1d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_1d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_3d_ctr", DoubleType, nullable = true),
+//      StructField("b2_3d_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_3d_cvr", DoubleType, nullable = true),
+//      StructField("b2_3d_conver", DoubleType, nullable = true),
+//      StructField("b2_3d_ecpm", DoubleType, nullable = true),
+//      StructField("b2_3d_click", DoubleType, nullable = true),
+//      StructField("b2_3d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_3d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_7d_ctr", DoubleType, nullable = true),
+//      StructField("b2_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_7d_cvr", DoubleType, nullable = true),
+//      StructField("b2_7d_conver", DoubleType, nullable = true),
+//      StructField("b2_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b2_7d_click", DoubleType, nullable = true),
+//      StructField("b2_7d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_7d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_today_ctr", DoubleType, nullable = true),
+//      StructField("b2_today_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_today_cvr", DoubleType, nullable = true),
+//      StructField("b2_today_conver", DoubleType, nullable = true),
+//      StructField("b2_today_ecpm", DoubleType, nullable = true),
+//      StructField("cpa", DoubleType, nullable = true),
+//      StructField("b2_1h_ctr", DoubleType, nullable = true),
+//      StructField("b2_1h_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_1h_cvr", DoubleType, nullable = true),
+//      StructField("b2_1h_conver", DoubleType, nullable = true),
+//      StructField("b2_1h_ecpm", DoubleType, nullable = true),
+//      StructField("b2_1h_click", DoubleType, nullable = true),
+//      StructField("b2_1h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_1h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_2h_ctr", DoubleType, nullable = true),
+//      StructField("b2_2h_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_2h_cvr", DoubleType, nullable = true),
+//      StructField("b2_2h_conver", DoubleType, nullable = true),
+//      StructField("b2_2h_ecpm", DoubleType, nullable = true),
+//      StructField("b2_2h_click", DoubleType, nullable = true),
+//      StructField("b2_2h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_2h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_3h_ctr", DoubleType, nullable = true),
+//      StructField("b2_3h_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_3h_cvr", DoubleType, nullable = true),
+//      StructField("b2_3h_conver", DoubleType, nullable = true),
+//      StructField("b2_3h_ecpm", DoubleType, nullable = true),
+//      StructField("b2_3h_click", DoubleType, nullable = true),
+//      StructField("b2_3h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_3h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_4h_ctr", DoubleType, nullable = true),
+//      StructField("b2_4h_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_4h_cvr", DoubleType, nullable = true),
+//      StructField("b2_4h_conver", DoubleType, nullable = true),
+//      StructField("b2_4h_ecpm", DoubleType, nullable = true),
+//      StructField("b2_4h_click", DoubleType, nullable = true),
+//      StructField("b2_4h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_4h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_5h_ctr", DoubleType, nullable = true),
+//      StructField("b2_5h_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_5h_cvr", DoubleType, nullable = true),
+//      StructField("b2_5h_conver", DoubleType, nullable = true),
+//      StructField("b2_5h_ecpm", DoubleType, nullable = true),
+//      StructField("b2_5h_click", DoubleType, nullable = true),
+//      StructField("b2_5h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b2_5h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b2_6h_ctr", DoubleType, nullable = true),
+//      StructField("b2_6h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_5h_conver", DoubleType, nullable = true),
+//      StructField("b9_5h_ecpm", DoubleType, nullable = true),
+//      StructField("b9_5h_click", DoubleType, nullable = true),
+//      StructField("b9_5h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_5h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_6h_ctr", DoubleType, nullable = true),
+//      StructField("b9_6h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_6h_cvr", DoubleType, nullable = true),
+//      StructField("b9_6h_conver", DoubleType, nullable = true),
+//      StructField("b9_6h_ecpm", DoubleType, nullable = true),
+//      StructField("b9_6h_click", DoubleType, nullable = true),
+//      StructField("b9_6h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_6h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_12h_ctr", DoubleType, nullable = true),
+//      StructField("b9_12h_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_12h_cvr", DoubleType, nullable = true),
+//      StructField("b9_12h_conver", DoubleType, nullable = true),
+//      StructField("b9_12h_ecpm", DoubleType, nullable = true),
+//      StructField("b9_12h_click", DoubleType, nullable = true),
+//      StructField("b9_12h_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_12h_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_1d_ctr", DoubleType, nullable = true),
+//      StructField("b9_1d_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_1d_cvr", DoubleType, nullable = true),
+//      StructField("b9_1d_conver", DoubleType, nullable = true),
+//      StructField("b9_1d_ecpm", DoubleType, nullable = true),
+//      StructField("b9_1d_click", DoubleType, nullable = true),
+//      StructField("b9_1d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_1d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_3d_ctr", DoubleType, nullable = true),
+//      StructField("b9_3d_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_3d_cvr", DoubleType, nullable = true),
+//      StructField("b9_3d_conver", DoubleType, nullable = true),
+//      StructField("b9_3d_ecpm", DoubleType, nullable = true),
+//      StructField("b9_3d_click", DoubleType, nullable = true),
+//      StructField("b9_3d_conver_x_log_view", DoubleType, nullable = true),
+//      StructField("b9_3d_conver_x_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_7d_ctr", DoubleType, nullable = true),
+//      StructField("b9_7d_ctcvr", DoubleType, nullable = true),
+//      StructField("b9_7d_cvr", DoubleType, nullable = true),
+//      StructField("b9_7d_conver", DoubleType, nullable = true),
+//      StructField("b9_7d_ecpm", DoubleType, nullable = true),
+//      StructField("b9_7d_click", DoubleType, nullable = true),
+//      StructField("weight", DoubleType, nullable = true),
+//      StructField("dt", StringType, nullable = true)
+//    ))
+  }
 
-    df.write
-      .option("odpsUrl", "http://service.odps.aliyun.com/api")
-      .option("tunnelUrl", "http://dt.cn-hangzhou.maxcompute.aliyun-inc.com")
-      .option("table", table)
-      .option("project", project)
-      .option("accessKeyId", "LTAIWYUujJAm7CbH")
-      .option("accessKeySecret", "RfSjdiWwED1sGFlsjXv0DlfTnZTG1P")
-      .mode("append") //覆盖写
-      .save()
+  def write(map: (String, Any), record: Record, schema: TableSchema): Unit = {
+    val (columnName, value) = map
+    // 查找列名在表结构中的索引
+    val columnIndex = schema.getColumnIndex(columnName)
+    if (columnIndex != -1) {
+      // 获取列的类型
+      val columnType = schema.getColumn(columnIndex).getTypeInfo
+      try {
+        columnType.getTypeName match {
+          case "STRING" =>
+            record.setString(columnIndex, value.toString)
+          case "BIGINT" =>
+            record.setBigint(columnIndex, value.toString.toLong)
+          case "DOUBLE" =>
+            record.setDouble(columnIndex, value.toString.toDouble)
+          case "BOOLEAN" =>
+            record.setBoolean(columnIndex, value.toString.toBoolean)
+          case other =>
+            throw new IllegalArgumentException(s"Unsupported column type: $other")
+        }
+      } catch {
+        case e: NumberFormatException =>
+          println(s"Error converting value $value to type ${columnType.getTypeName} for column $columnName: ${e.getMessage}")
+        case e: Exception =>
+          println(s"Unexpected error writing value $value to column $columnName: ${e.getMessage}")
+      }
+    } else {
+      println(s"Column $columnName not found in the table schema.")
+    }
 
   }
 

+ 1 - 0
src/main/scala/com/aliyun/odps/spark/examples/makedata_ad/v20240718/makedata_ad_33_bucketData_20240718.scala

@@ -68,6 +68,7 @@ object makedata_ad_33_bucketData_20240718 {
         })
         (logKey, labelKey, features)
       })
+        val x = data
         .filter{
           case (logKey, labelKey, features) =>
             val logKeyList = logKey.split(",")