項目實戰從0到1之hive(33)大數據項目之電商數倉(用戶行爲數據採集)(一)

第1章 數據倉庫概念

img

第2章 項目需求及架構設計

2.1 項目需求分析

img

2.2 項目框架

2.2.1 技術選型

img

2.2.2 系統數據流程設計

img

2.2.3 框架版本選型

img

img

2.2.4 服務器選型

img

2.2.5 集羣資源規劃設計

img

2)測試集羣服務器規劃json

img

第3章 數據生成模塊

3.1 埋點數據基本格式

  • 公共字段:基本全部安卓手機都包含的字段服務器

  • 業務字段:埋點上報的字段,有具體的業務類型網絡

下面就是一個示例,表示業務字段的上傳。架構

{
"ap":"xxxxx",//項目數據來源 app pc
"cm": {  //公共字段
       "mid": "",  // (String) 設備惟一標識
       "uid": "",  // (String) 用戶標識
       "vc": "1",  // (String) versionCode,程序版本號
       "vn": "1.0",  // (String) versionName,程序版本名
       "l": "zh",  // (String) language系統語言
       "sr": "",  // (String) 渠道號,應用從哪一個渠道來的。
       "os": "7.1.1",  // (String) Android系統版本
       "ar": "CN",  // (String) area區域
       "md": "BBB100-1",  // (String) model手機型號
       "ba": "blackberry",  // (String) brand手機品牌
       "sv": "V2.2.1",  // (String) sdkVersion
       "g": "",  // (String) gmail
       "hw": "1620x1080",  // (String) heightXwidth,屏幕寬高
       "t": "1506047606608",  // (String) 客戶端日誌產生時的時間
       "nw": "WIFI",  // (String) 網絡模式
       "ln": 0,  // (double) lng經度
       "la": 0  // (double) lat 緯度
  },
"et": [  //事件
          {
               "ett": "1506047605364",  //客戶端事件產生時間
               "en": "display",  //事件名稱
               "kv": {  //事件結果,以key-value形式自行定義
                   "goodsid": "236",
                   "action": "1",
                   "extend1": "1",
"place": "2",
"category": "75"
              }
          }
      ]
}

示例日誌(服務器時間戳 | 日誌):app

1540934156385|{
   "ap": "gmall",
   "cm": {
       "uid": "1234",
       "vc": "2",
       "vn": "1.0",
       "la": "EN",
       "sr": "",
       "os": "7.1.1",
       "ar": "CN",
       "md": "BBB100-1",
       "ba": "blackberry",
       "sv": "V2.2.1",
       "g": "abc@gmail.com",
       "hw": "1620x1080",
       "t": "1506047606608",
       "nw": "WIFI",
       "ln": 0
  },
       "et": [
          {
               "ett": "1506047605364",  //客戶端事件產生時間
               "en": "display",  //事件名稱
               "kv": {  //事件結果,以key-value形式自行定義
                   "goodsid": "236",
                   "action": "1",
                   "extend1": "1",
"place": "2",
"category": "75"
              }
          },{
               "ett": "1552352626835",
               "en": "active_background",
               "kv": {
                    "active_source": "1"
              }
          }
      ]
  }
}

下面是各個埋點日誌格式。其中商品點擊屬於信息流的範疇框架

3.2 事件日誌數據

3.2.1 商品列表頁(loading)

事件名稱:loadingmaven

img

img

3.2.2 商品點擊(display)

事件標籤:displayide

img

img

3.2.3 商品詳情頁(newsdetail)

事件標籤:newsdetail測試

img

img

3.2.4 廣告(ad)

事件名稱:adui

img

img

3.2.5 消息通知(notification)

事件標籤:notification

img

3.2.6 用戶前臺活躍(active_foreground)

事件標籤: active_foreground img

3.2.7 用戶後臺活躍(active_background)

事件標籤: active_background

img

3.2.8 評論(comment)

描述:評論表 img

img

3.2.9 收藏(favorites)

描述:收藏

img

3.2.10 點贊(praise)

描述:全部的點贊表 img

img

3.2.11 錯誤日誌

img

3.3 啓動日誌數據

事件標籤: start

img

{
   "action":"1",
   "ar":"MX",
   "ba":"HTC",
   "detail":"",
   "en":"start",
   "entry":"2",
   "extend1":"",
   "g":"43R2SEQX@gmail.com",
   "hw":"640*960",
   "l":"en",
   "la":"20.4",
   "ln":"-99.3",
   "loading_time":"2",
   "md":"HTC-2",
   "mid":"995",
   "nw":"4G",
   "open_ad_type":"2",
   "os":"8.1.2",
   "sr":"B",
   "sv":"V2.0.6",
   "t":"1561472502444",
   "uid":"995",
   "vc":"10",
   "vn":"1.3.4"
}

3.4 數據生成腳本

img

3.4.1 建立Maven工程

1)建立log-collector 2)建立一個包名:com.kgg.appclient 3)在com.kgg.appclient包下建立一個類,AppMain。 4)在pom.xml文件中添加以下內容

<!--版本號統一--><properties>    <slf4j.version>1.7.20</slf4j.version>    <logback.version>1.0.7</logback.version></properties>​<dependencies>    <!--阿里巴巴開源json解析框架-->    <dependency>        <groupId>com.alibaba</groupId>        <artifactId>fastjson</artifactId>        <version>1.2.51</version>    </dependency>​    <!--日誌生成框架-->    <dependency>        <groupId>ch.qos.logback</groupId>        <artifactId>logback-core</artifactId>        <version>${logback.version}</version>    </dependency>    <dependency>        <groupId>ch.qos.logback</groupId>        <artifactId>logback-classic</artifactId>        <version>${logback.version}</version>    </dependency></dependencies>​<!--編譯打包插件--><build>    <plugins>        <plugin>            <artifactId>maven-compiler-plugin</artifactId>            <version>2.3.2</version>            <configuration>                <source>1.8</source>                <target>1.8</target>            </configuration>        </plugin>        <plugin>            <artifactId>maven-assembly-plugin </artifactId>            <configuration>                <descriptorRefs>                    <descriptorRef>jar-with-dependencies</descriptorRef>                </descriptorRefs>                <archive>                    <manifest>                        <mainClass>com.kgg.appclient.AppMain</mainClass>                    </manifest>                </archive>            </configuration>            <executions>                <execution
相關文章
相關標籤/搜索