作為數(shù)據(jù)產(chǎn)品經(jīng)理,你需要知道這些技術(shù)知識

10 評論 21168 瀏覽 166 收藏 28 分鐘

在數(shù)據(jù)分析領(lǐng)域下,總會被提及諸如SQL、Hive,甚至Hardoop、Druid、Spark等這些技術(shù)上的詞匯。那么作為一名數(shù)據(jù)領(lǐng)域的產(chǎn)品經(jīng)理,聽著這些不是很常見的產(chǎn)品知識,又應(yīng)該具備怎樣的技術(shù)知識呢?本文主要從“用戶行為數(shù)據(jù)“角度介紹一整套的技術(shù)架構(gòu)以及相關(guān)的技術(shù)要點。

閱讀指南

  1. 受眾人群:數(shù)據(jù)型產(chǎn)品經(jīng)理、數(shù)據(jù)運營等初級崗位;
  2. 閱讀收獲:初步了解用戶行為分析數(shù)據(jù)類產(chǎn)品的大致架構(gòu)、掌握4大環(huán)節(jié)的數(shù)據(jù)技術(shù)要點。

一、用戶行為分析系統(tǒng)

本文將從數(shù)據(jù)采集、數(shù)據(jù)接入、數(shù)據(jù)分析、數(shù)據(jù)展示等4個重要地方,分別介紹相關(guān)涉及的技術(shù)知識。這一節(jié)主要介紹整體概念。

1.1 概念

用戶行為分析系統(tǒng)其實是指用戶使用產(chǎn)品過程中,把產(chǎn)生的行為數(shù)據(jù)通過分析而成的報表工具。此類數(shù)據(jù)區(qū)別于業(yè)務(wù)數(shù)據(jù),大多為公開、有權(quán)限獲取的,比如一些設(shè)備信息、埋點信息等。

目前行業(yè)較為人熟知的有百度統(tǒng)計、友盟、神策等,而使用此類產(chǎn)品的主要是數(shù)據(jù)分析師、數(shù)據(jù)運營和產(chǎn)品經(jīng)理等。目的是為了統(tǒng)計埋點、基礎(chǔ)指標(biāo)分析(如PV、UV)等,從而對產(chǎn)品進行體驗優(yōu)化或運營推廣。

(樣例:數(shù)據(jù)分析系統(tǒng)圖)

1.2 數(shù)據(jù)系統(tǒng)框架

1.2.1 數(shù)據(jù)采集

一般用戶使用產(chǎn)品的時候,所填寫的信息會經(jīng)由業(yè)務(wù)系統(tǒng)加密儲存。而行為數(shù)據(jù)是不會經(jīng)由這些系統(tǒng)收集,而由專門的采集工具進行采集,這就是SDK

1.2.2 數(shù)據(jù)接入

因為SDK采集的數(shù)據(jù)是非結(jié)構(gòu)化的,所以數(shù)據(jù)都是以原始數(shù)據(jù)的方式按批次定期或?qū)崟r上傳。服務(wù)端通過接口對這些數(shù)據(jù)進行解析、加工處理,初步形成結(jié)構(gòu)化的日志數(shù)據(jù),并在數(shù)據(jù)庫按表進行存儲。

1.2.3 數(shù)據(jù)分析

當(dāng)數(shù)據(jù)解析并存儲之后,即可通過離線和實時兩大方式進行分析。部分指標(biāo)計算量大且實時要求不高,則會采取T+1、T+2(即第二天、第三天出結(jié)果)等離線計算方式。

有些指標(biāo)時效性要求高,如關(guān)鍵指標(biāo)、日常運營活動(如雙十一)等,就需要較高的實時計算方式,以便監(jiān)測表現(xiàn)。兩大方式采用的系統(tǒng)框架會有所差別,后面詳解。

1.2.4 數(shù)據(jù)應(yīng)用

當(dāng)使用結(jié)構(gòu)化數(shù)據(jù)進行分析時,就需要可視化的圖表進行展示,不管哪種方式,基本就是通過報表網(wǎng)站平臺進行展示。比如折線圖、表格、柱狀圖等,甚至還需要提供更多維的分析指標(biāo)支持用戶自主查詢。

二、數(shù)據(jù)采集層(SDK)

2.1 何為SDK?

2.1.1 定義

SDK是指一種軟件開發(fā)工具包,是數(shù)據(jù)采集的必備工具,英文為“Software Development Kit”。

本質(zhì)上它其實是一些接口API的文件集合,為某個應(yīng)用程序提供服務(wù)。也可以理解為應(yīng)用開發(fā)者通過接入這些文件,并調(diào)用里面的相關(guān)接口,即可采集相應(yīng)數(shù)據(jù)。

因為SDK的大小一定程度上會影響應(yīng)用程序性能,所以盡量輕量處理,占內(nèi)存大多在幾百K和幾兆之間。

2.1.2 作用

不同業(yè)務(wù)下,SDK的應(yīng)用性質(zhì)是不同的。常見的就有數(shù)據(jù)行為類SDK、功能服務(wù)類SDK以及廣告營銷類SDK等。

其中功能服務(wù)類就是指應(yīng)用通過接入SDK增加一些特殊的產(chǎn)品功能服務(wù),而廣告營銷類則指專門做消息推送、營銷推廣等業(yè)務(wù)的SDK。而本文僅介紹數(shù)據(jù)行為類SDK。

2.2 SDK類型

主要分為客戶端SDK和服務(wù)端SDK,客戶端SDK是指這類SDK接入在應(yīng)用的前端,比如iOS、安卓等。而服務(wù)端SDK是指接入在后端,更多的在后臺底層。

2.2.1 客戶端SDK

  • iOS SDK:顧名思義,就是以iOS操作系統(tǒng)進行開發(fā)的SDK工具包;
  • Android SDK:同樣是以安卓操作系統(tǒng)進行開發(fā)的,可應(yīng)用在所有安卓類軟件中;
  • H5 SDK:指以網(wǎng)頁操作系統(tǒng)為生的SDK,可應(yīng)用在web網(wǎng)站、H5網(wǎng)頁、公眾號(功能實質(zhì)是H5開發(fā))等;
  • 小程序 SDK:小程序是這兩年新興的產(chǎn)品應(yīng)用,依賴于不同的軟件平臺。所以需要基于不同的平臺進行開發(fā),比如微信小程序、支付寶小程序、百度小程序等,同時還需要分iOS和Android兩大系統(tǒng)進行開發(fā)。

2.2.2 服務(wù)端SDK

  • 定義:服務(wù)端的sdk具體通過后端上報數(shù)據(jù),即業(yè)務(wù)應(yīng)用采集到數(shù)據(jù)后,通過自身的服務(wù)端傳到大數(shù)據(jù)系統(tǒng)的服務(wù)端,即“業(yè)務(wù)服務(wù)端-數(shù)據(jù)服務(wù)端”,而非客戶端SDK的“業(yè)務(wù)服務(wù)端-客戶端SDK-數(shù)據(jù)服務(wù)端“。
  • 類型:由于每個業(yè)務(wù)的狀況不同,開發(fā)語言都不是唯一的,所以針對服務(wù)端類型的SDK都會基于不同的語言提供相應(yīng)的開發(fā)版本,包括Java SDK、Pyhon SDK、PHP SDK、C SDK等等。

2.2.3 小結(jié)

不同的用戶有不同的業(yè)務(wù)訴求,客戶端和服務(wù)端各有優(yōu)缺點,主要取決于業(yè)務(wù)訴求。整體而言,大多數(shù)產(chǎn)品應(yīng)用使用客戶端SDK居多。

2.3 作用

SDK最大的任務(wù)就在于采集數(shù)據(jù)、識別數(shù)據(jù)和上報數(shù)據(jù)。

2.3.1 采集數(shù)據(jù)

由于SDK采集的數(shù)據(jù)較廣,涉及種類較多,主要分幾類:

  1. 設(shè)備數(shù)據(jù):具體指終端硬件設(shè)備,如電腦設(shè)備、手機設(shè)備等,如果是手機可以具體到手機類型、品牌、網(wǎng)絡(luò)環(huán)境等。如果是電腦,則是電腦型號、瀏覽器類型等;
  2. 程序數(shù)據(jù):具體指應(yīng)用程序的數(shù)據(jù),比如是APP,則是此APP應(yīng)用程序內(nèi)的基礎(chǔ)數(shù)據(jù),包括APP版本、渠道、安裝時間等等;
  3. 埋點數(shù)據(jù):具體指用戶在某應(yīng)用程序觸發(fā)產(chǎn)生的行為數(shù)據(jù),比如點擊哪個頁面、停留時長、頁面曝光、啟動時間等等。主要是基于業(yè)務(wù)考慮進行埋點設(shè)計。

2.3.2 識別數(shù)據(jù)

由于采集的數(shù)據(jù)屬于原始數(shù)據(jù),且SDK層基于原始數(shù)據(jù)的真實性和唯一性,基本是不會做結(jié)構(gòu)化的邏輯處理,即不會做數(shù)據(jù)加工。所以SDK在這里最多會進行識別數(shù)據(jù)的處理。

  • 識別用戶ID:不管數(shù)據(jù)如何原始、混亂,有一個關(guān)鍵的就是需要識別產(chǎn)生這個數(shù)據(jù)的“用戶”是誰,所以就有用戶ID的說法。但這個用戶ID不同的產(chǎn)品和業(yè)務(wù),各家不盡相同,生成ID的算法也不同,有人用操作系統(tǒng)的IDFA和IMEI生成設(shè)備口徑的算法,也有人直接用軟件的賬戶ID作為唯一用戶ID,這個是沒有規(guī)定的。?例子:“userid”:321990ddwsadnkiouf78hjh”;
  • 識別程序ID:因為SDK是支持多個程序獨立使用的,但是數(shù)據(jù)最終是在同一個服務(wù)端和數(shù)據(jù)庫,那么就需要做應(yīng)用程序之間的區(qū)分。這個時候就有應(yīng)用ID,每個獨立應(yīng)用分配一個ID,且是唯一的。至于如何分配生成,也是看各家的業(yè)務(wù)訴求,并沒有唯一標(biāo)準(zhǔn)。例子:“productid”:“12321321321dasdasdas33213”

2.3.3 上報數(shù)據(jù)

由于SDK在嵌入應(yīng)用程序前,就已經(jīng)打通與服務(wù)端的接口并進行上報。所以此時SDK是已經(jīng)界定了一系列的上報邏輯,以及需要傳什么數(shù)據(jù)。

  • 原始數(shù)據(jù):其實就是一條條原始數(shù)據(jù)記錄,每條數(shù)據(jù)附帶那一刻采集的諸多信息,包括用戶ID、設(shè)備數(shù)據(jù)、埋點數(shù)據(jù)等,但這些數(shù)據(jù)并不是每條都必帶的,取決于當(dāng)時的環(huán)境是否有提供這些信息.
  • Session:指某一次節(jié)會話信息,主要為了記錄用戶行為習(xí)慣。因為每個用戶操作習(xí)慣、時長都不同,有可能突然不再操作,又可能隔幾分鐘在操作,對于這樣的情況需要基于業(yè)務(wù)場景的訴求,定義這些session邏輯,并分別創(chuàng)建不同的sessionid去分割。比如停止操作幾分鐘后、程序退出或切換至后臺等是否需要定義。
  • Cookie:主要是網(wǎng)站使用的一種識別用戶的數(shù)據(jù)集,一般存儲在用戶本地終端上,以便于用戶在不同時間操作時都可以快速調(diào)用且識別為同一個設(shè)備用戶。與session區(qū)別在于,Cookie存儲在瀏覽器內(nèi),數(shù)據(jù)量有限且相對沒那么安全。

三、數(shù)據(jù)接入存儲層

從這一環(huán)節(jié)開始,就進入服務(wù)端運作的流程。這個環(huán)境涉及數(shù)據(jù)接入、解析和存儲等3方面。

前面提到,SDK只會采集原始數(shù)據(jù)(就好比綠色無污染的食品),而這些非結(jié)構(gòu)化數(shù)據(jù)其實不利于管理和使用的。這時候就需要在接入后進行數(shù)據(jù)解析、清洗加工再扔進數(shù)據(jù)庫。

3.1 接入層

這一層是服務(wù)端與SDK端之間聯(lián)系的一層,所有的日志數(shù)據(jù)就是通過這個接入層進行獲取,但獲取成功后是需要返回“成功”的信號給到SDK,證明是暢通的沒有報錯。

但大多數(shù)情況下,由于上報的數(shù)據(jù)較多,盡管是按批次上報,也是會出現(xiàn)類似“排隊”的情況,一個一個去等完成再返回數(shù)據(jù)效率十分之低。所以這時候就會借用“redis”手段。

redis:Remote Dictionary Server 遠(yuǎn)程字典服務(wù),實質(zhì)是一個key-value存儲系統(tǒng),一門開源的數(shù)據(jù)庫技術(shù)。簡單來說它就好像一個副服務(wù)器,當(dāng)主服務(wù)器接收到諸多數(shù)據(jù)后,都可以扔到這里來,讓它慢慢接收,并且無需等待返回“結(jié)果”信息,主服務(wù)就可以告知SDK我這邊“ok”了,請放心。

3.2 邏輯層

這一層的作用實際是指對數(shù)據(jù)進行解析、清洗加工處理,即日志數(shù)據(jù),因為數(shù)據(jù)的存儲是要按照明確的數(shù)據(jù)庫和表的結(jié)構(gòu)來存儲。

日志數(shù)據(jù)例子:{“userid”:”3213213hdhdhasjoiewq3321″,”productid”:”dadsadsad2321321″,”mobile”:”samsung:SM-G9008V”,”country”:”CN”}

3.3 數(shù)據(jù)存儲

提到數(shù)據(jù)存儲,就必須接觸到數(shù)據(jù)庫,那么對于這樣的用戶行為數(shù)據(jù),又會使用什么樣的數(shù)據(jù)庫呢?目前關(guān)于數(shù)據(jù)庫,主要分為關(guān)系型和非關(guān)系型數(shù)據(jù)庫。

3.3.1 關(guān)系型數(shù)據(jù)庫

平常所接觸到諸如Oracle、Hive、PG等,其實這些都屬于關(guān)系型數(shù)據(jù)庫,本質(zhì)上都是建立在SQL(結(jié)構(gòu)化查詢語言)的基礎(chǔ)上,所以最大的特征就是結(jié)構(gòu)化。這些適合大量的數(shù)據(jù)查詢,統(tǒng)一提供增、刪、改、查、排序等多種查詢。

數(shù)據(jù)庫類型有很多,以下僅列舉常遇見的3種:

3.3.2 非關(guān)系型數(shù)據(jù)庫(NoSQL)

此類數(shù)據(jù)庫的存在是出于性能、速度等方面考慮,主要是因為關(guān)系型數(shù)據(jù)庫涉及數(shù)據(jù)較大、結(jié)構(gòu)復(fù)雜,一些簡單、體量小的存儲和查詢不適合在這樣的數(shù)據(jù)庫進行運作,所以才有這樣的數(shù)據(jù)庫。

上面也提到,其中redis就是這么一種,以及MongoD、Memcache。

  • 優(yōu)點:這類數(shù)據(jù)庫優(yōu)點在于足夠快、結(jié)構(gòu)單一、數(shù)據(jù)集中等;
  • 缺點:結(jié)構(gòu)相對沒那么規(guī)范清晰、會有重復(fù)冗余;

3.3.3 數(shù)據(jù)庫表

在使用SQL查詢的時候,一個關(guān)鍵地方就是需要知道表結(jié)構(gòu)。所謂的表結(jié)構(gòu)就是數(shù)據(jù)表與表之間的關(guān)系,以及具體表字段的含義。所以數(shù)據(jù)庫表的設(shè)計十分重要,對后續(xù)SQL查詢計算、機器運行性能、任務(wù)執(zhí)行等方面有很大的影響。

(樣例:usertable_01)

存在在數(shù)據(jù)庫中的就是一張張這樣的表,通過SQL語句查詢可以快速獲取所要的數(shù)據(jù)結(jié)果。所有原始數(shù)據(jù)經(jīng)過解析清洗之后,就會像這樣以結(jié)構(gòu)化的形式進行存儲,以便于管理和使用。

表設(shè)計:系統(tǒng)有諸多數(shù)據(jù)指標(biāo),而對于產(chǎn)品或運營而言,就是定義各個指標(biāo)的統(tǒng)計邏輯和場景。那么對于技術(shù)者來說,除了輸出固定的查詢語句之外,還需要進行合理的表設(shè)計。

所謂的表設(shè)計,就是根據(jù)指標(biāo)體系把結(jié)構(gòu)化的數(shù)據(jù)分拆成多張數(shù)據(jù)表,并進行有機關(guān)聯(lián),從而提供合理的統(tǒng)計輸出。

比喻需要固定了解每天使用程序的用戶的某些設(shè)備信息(手機型號、品牌、網(wǎng)絡(luò)環(huán)境等),就可以放在同一張表,而無需跨表關(guān)聯(lián)影響效率,同時這樣的設(shè)計有利于性能。但具體如何設(shè)計,主要是基于業(yè)務(wù)的指標(biāo)體系考慮。

四、數(shù)據(jù)分析層

在大數(shù)據(jù)分析開發(fā)當(dāng)中,有諸如Spark、Hive、Hbase這些數(shù)據(jù)庫或計算引擎,但這些都基于一套核心的系統(tǒng),就是Hadoop。要開發(fā)一套完整的大數(shù)據(jù)開發(fā)系統(tǒng),大多數(shù)技術(shù)都是從Hadoop中獲取能力。

4.1 核心框架Hadoop

4.1.1 定義

Hadoop是大數(shù)據(jù)開發(fā)所使用的一個核心框架,是一個允許使用簡單編程模型跨計算機集群分布式處理大型數(shù)據(jù)集的系統(tǒng)。很多關(guān)于大數(shù)據(jù)開發(fā)的技術(shù)模塊都基于此基礎(chǔ)上,覆蓋了數(shù)據(jù)傳輸、數(shù)據(jù)存儲管理、數(shù)據(jù)計算等諸多方面。

4.1.2 作用

使用Hadoop可以方便地管理分布式集群,將海量數(shù)據(jù)分布式地存儲在集群中,并使用分布式并行程序來處理這些數(shù)據(jù)。

4.1.3 架構(gòu)

一套完整的Hadoop框架涉及數(shù)據(jù)傳輸、存儲到計算等環(huán)節(jié),并在這些基礎(chǔ)上提供種類較多的組件,為快速搭建大數(shù)據(jù)分析平臺提供成熟的基礎(chǔ)能力。

  • HDFS:能夠提供高吞吐量的分布式文件系統(tǒng)。
  • YARN:用于任務(wù)調(diào)度和集群資源管理。就好比是一個項目的PMO,產(chǎn)品提需求,根據(jù)現(xiàn)有的資源、時間、成本等快速分配任務(wù),調(diào)動機器資源來支持。
  • MapReduce:基于YARN之上,用于大型數(shù)據(jù)集并行處理的系統(tǒng)。也是初代的計算引擎。Hive就是基于這個系統(tǒng)之上。
  • Flume:一個日志收集系統(tǒng),作用在于將大量日志數(shù)據(jù)從各數(shù)據(jù)源進行收集、聚合,并最終存儲。
  • Sqoop:用于底層數(shù)據(jù)傳輸?shù)墓ぞ摺?/li>
  • Kafka:一種高吞肚量的分布式消息隊列系統(tǒng)。
  • Hbase:一個可伸縮的分布式數(shù)據(jù)庫,支持大型表的結(jié)構(gòu)化數(shù)據(jù)存儲,底層使用HDFS存儲數(shù)據(jù)。
  • Hive:基于Hadoop的數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張張數(shù)據(jù)庫表,并提供簡單的SQL查詢功能,可以將SQL語句轉(zhuǎn)換為MapReduce任務(wù)運行。更多支持離線任務(wù)。
  • Spark:一個快速通用的Hadoop數(shù)據(jù)計算引擎,適用于實時任務(wù)。同時也應(yīng)用于機器學(xué)習(xí)、流處理等。

4.2 計算類型

4.2.1 離線計算

離線計算就是在計算開始前已知所有輸入數(shù)據(jù),輸入數(shù)據(jù)不會產(chǎn)生變化,且在解決一個問題后就要立即得出結(jié)果的前提下進行的計算。時間上按天來算,就是T+1、T+2甚至T+7等,主要看指標(biāo)的時效性優(yōu)先級要求。

4.2.2 實時計算

實時計算是相對離線而言,就是指查詢條件不固定、目標(biāo)不明確,但又對數(shù)據(jù)需求的時效有較大要求,所以需要實時查詢進行分析。

優(yōu)點是自定義條件多,能滿足多維分析的數(shù)據(jù)需求,缺點是考驗查詢引擎,由于處理數(shù)據(jù)量大短時間輸出結(jié)果會有所偏差,且等待時間長。

4.3 計算引擎

按照目前行業(yè)的發(fā)展,關(guān)于計算引擎已經(jīng)發(fā)展到了第4代,第1代是MapReduce,而在這里重點介紹5種。

  1. Hive:前面介紹到這種查詢引擎,其實它屬于第2代流行的引擎,目前仍有大量企業(yè)使用這個,主要是十分成熟,能滿足大部分的基礎(chǔ)需求場景。但由于數(shù)據(jù)量大,依賴不少組件,導(dǎo)致數(shù)據(jù)量一大查詢速度就相對較慢。
  2. Spark:目前十分流行的第3代查詢引擎,能夠承擔(dān)批數(shù)據(jù)處理,和Hive兼容,相比它查詢速度更快一些,擴展性高。
  3. Flink:是最近流行的第4代查詢引擎,主要是同時支持流數(shù)據(jù)和批量式數(shù)據(jù)處理,相較于Spark有較大得提升。但目前技術(shù)相對新一些,應(yīng)用得還不算多。
  4. Druid:一種高效實時、迅速的分布式數(shù)據(jù)查詢系統(tǒng),它采用不是前3者依賴得hadoop框架。主要支持聚合查詢、實時查詢,且靈活。但有些數(shù)據(jù)分析指標(biāo)不一定能支持。
  5. Impala:一種數(shù)據(jù)查詢引擎,優(yōu)點在于高性能、低延遲(準(zhǔn)實時)。相比hive繞過底層MapReduce,所以更快。同時也支持復(fù)雜的交互式查詢。

整體來說,不同的業(yè)務(wù)場景采用不同的計算架構(gòu),沒有優(yōu)劣之分,只有合不合適。

五、數(shù)據(jù)應(yīng)用層

很多時候,大家常接觸的都是數(shù)據(jù)可視化平臺,比如常見的BI報表平臺、數(shù)據(jù)大屏等,都是充分使用了數(shù)據(jù)可視化技術(shù)進行呈現(xiàn)。

那么實現(xiàn)這些效果,又用到了哪些技術(shù)手段?

5.1 數(shù)據(jù)平臺

在介紹可視化技術(shù)前,不得不先說數(shù)據(jù)報表平臺,因為這是大多人常接觸的,如那些圖表、網(wǎng)絡(luò)圖譜、3D城市模型等。拋開單個而言,它是一個平臺化的產(chǎn)品。

目前第三方應(yīng)用較多的就有百度統(tǒng)計、阿里、友盟、神策等。

(樣例:報表平臺)

(樣例:可視化屏)

5.2 可視化技術(shù)

實現(xiàn)數(shù)據(jù)可視化,除采用前端的基本技術(shù)外,還包括相關(guān)的圖形技術(shù)組件

5.2.1 web前端基礎(chǔ)技術(shù)

大多數(shù)情況下,前端使用的技術(shù)框架離不開這關(guān)鍵的3種語言,即CSS、HTML、JavaScript。

  1. CSS:英文全稱Cascading Style Sheets,是一種文本樣式的語言,主要針對文本的位置、色值、字體、字號等方面的控制。
  2. HTML:英文全稱 Hypertext Marked Language,即超文本標(biāo)記語言。主要是通過指令控制文字、圖形、動畫、聲音、表格、鏈接等形式的文本。
  3. JavaScript:對于前端而言,不管是文字、還是視頻,還是其他圖形,都是一種文本。都可以通過以上2點實現(xiàn)。而JavaScript的作用就是在這些“文本”基礎(chǔ)上增加動效功能,也就是我們產(chǎn)品常說的“交互”,這方面的功底體現(xiàn)了這個產(chǎn)品能給用戶提供多好的體驗效果。

5.2.2 可視化技術(shù)應(yīng)用

可視化技術(shù)主要是針對數(shù)據(jù)層面而言的一些技術(shù)手段。因為這方面的技術(shù)已經(jīng)十分成熟,且大部分場景下的需求樣式是比較固定的,所以這樣的技術(shù)大多開發(fā)成為組件,并普遍開源。而這里則主要介紹前端常見的3種。

組件:英文名Component。所謂組件其實就是指一種可用“復(fù)用”的功能模塊。因為產(chǎn)品開發(fā)到了一定程度,很多時候設(shè)計較為接近的,那么開發(fā)往往會基于效率開發(fā)成一套可復(fù)用的組件,這樣每次遇到同類型的需求,即可快速調(diào)用。

比如一個柱狀圖,可以定義相關(guān)的位置、圖形形狀及布局。通過復(fù)用組件化之后,就可以任意改變里面的參數(shù),比如色值、大小、字號等,比較靈活,也省事。

  1. Echarts:一個基于 JavaScript 實現(xiàn)的開源可視化庫,能夠應(yīng)用在PC、移動終端等設(shè)備上,分別提供常規(guī)的圖表(折線圖、柱狀圖之類),地理數(shù)據(jù)的地圖,社交關(guān)系型的圖譜、旭日圖,以及一些特殊的圖形。Echarts提供了大量豐富的數(shù)據(jù)可視化圖表,并支持較高定制化,是前端在進行可視化開發(fā)中使用較為普遍的工具庫;(網(wǎng)址:https://www.echartsjs.com/zh/index.html)
  2. D3.js:全稱為Data Driven Documents,本質(zhì)是一個 JavaScript 的函數(shù)庫,通過它來實現(xiàn)數(shù)據(jù)可視化的,所以它實際是一個通過函數(shù)操作數(shù)據(jù)的文檔。與JavaScript不同的是,D3把一些復(fù)雜流程進行精簡成幾個的函數(shù)樣式,能夠夠快實現(xiàn)更酷炫的圖形可視化,在原有常規(guī)的圖形可以做得更多元化。(網(wǎng)址:https://d3js.org)
  3. three.js:簡單來說,three其實就是指3D的意思,聽到3D就知道是做立體模型的,同時它同樣基于JavaScript而建立的,所以就有three.js。通過它可實現(xiàn)三維圖形的需求,比如一些城市建筑模型、人體模型等。但是由于目前還不算十分成熟,國內(nèi)相關(guān)資料較少,英文文檔的學(xué)習(xí)成本較高。(網(wǎng)址:https://threejs.org/)

5.3 應(yīng)用產(chǎn)品

  1. 數(shù)據(jù)分析型:百度統(tǒng)計、友盟、神策、Growing IO等
  2. BI報表類:Tableau、Quick Bi等
  3. 可視化類:阿里云Data V、百度Sugar等

總結(jié)

  1. 一整套完整的數(shù)據(jù)系統(tǒng),涉及方方面面。參與其中的PM,承擔(dān)責(zé)任也不同。每個人應(yīng)該基于核心工作,做相關(guān)的延伸,不一定都需要掌握。
  2. 一名合格的數(shù)據(jù)分析型產(chǎn)品,數(shù)據(jù)指標(biāo)設(shè)計、數(shù)據(jù)庫、SQL查詢、計算引擎,都是必須掌握了解。
  3. 其實各大廠都有一套自身的數(shù)據(jù)技術(shù)體系,多關(guān)注CSDN、騰訊云或阿里云等社區(qū),會有所裨益。

推薦閱讀:《大數(shù)據(jù)平臺演進之路 | 淘寶 & 滴滴 & 美團》https://cloud.tencent.com/developer/article/1506317

注:本期的文章涉及較多技術(shù)術(shù)語,建議反復(fù)閱讀。以上的系統(tǒng)框架圖僅幫助閱讀理解,并不是完整的架構(gòu)圖。

 

作者:A.D,世界TOP50強公司產(chǎn)品一枚;公眾號:吾某

本文由 @A.D. 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 講得真的好,對新人來說真的受益匪淺

    來自廣東 回復(fù)
  2. 大家期待已久的《數(shù)據(jù)產(chǎn)品經(jīng)理實戰(zhàn)訓(xùn)練營》終于在起點學(xué)院(人人都是產(chǎn)品經(jīng)理旗下教育機構(gòu))上線啦!

    本課程非常適合新手?jǐn)?shù)據(jù)產(chǎn)品經(jīng)理,或者想要轉(zhuǎn)崗的產(chǎn)品經(jīng)理、數(shù)據(jù)分析師、研發(fā)、產(chǎn)品運營等人群。

    課程會從基礎(chǔ)概念,到核心技能,再通過典型數(shù)據(jù)分析平臺的實戰(zhàn),幫助大家構(gòu)建完整的知識體系,掌握數(shù)據(jù)產(chǎn)品經(jīng)理的基本功。

    學(xué)完后你會掌握怎么建指標(biāo)體系、指標(biāo)字典,如何設(shè)計數(shù)據(jù)埋點、保證數(shù)據(jù)質(zhì)量,規(guī)劃大數(shù)據(jù)分析平臺等實際工作技能~

    現(xiàn)在就添加空空老師(微信id:anne012520),咨詢課程詳情并領(lǐng)取福利優(yōu)惠吧!

    來自廣東 回復(fù)
  3. 作者您好,我是一名產(chǎn)品新人,迫于未來的行業(yè)壓力,想學(xué)習(xí)數(shù)據(jù)產(chǎn)品,但是無從下手,方便留個聯(lián)系方式,向您請教一些問題嗎,感謝感謝

    來自廣東 回復(fù)
    1. 公號有我微信

      來自廣東 回復(fù)
  4. 學(xué)習(xí)了,謝謝分享!

    來自廣東 回復(fù)
  5. 好文

    回復(fù)
    1. ??

      來自廣東 回復(fù)
  6. 謝謝分享,思路清晰

    來自上海 回復(fù)
    1. 謝謝~

      來自廣東 回復(fù)
  7. 2張框架圖片有兩個術(shù)語書寫有誤,統(tǒng)一應(yīng)為:redis、Hive

    來自上海 回復(fù)