国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Apache Flink在唯品會的實踐

大數據
目前在唯品會實時平臺并不是一個統一的計算框架,而是包括Storm,Spark,Flink在內的三個主要計算框架。由于歷史原因,當前在Storm平臺上的job數量是最多的,但是從去年開始,業務重心逐漸切換到Flink上面,所以今年在Flink上面的應用數量有了大幅增加。

唯品會實時平臺現狀

目前在唯品會實時平臺并不是一個統一的計算框架,而是包括Storm,Spark,Flink在內的三個主要計算框架。由于歷史原因,當前在Storm平臺上的job數量是最多的,但是從去年開始,業務重心逐漸切換到Flink上面,所以今年在Flink上面的應用數量有了大幅增加。

實時平臺的核心業務包含八大部分:實時推薦作為電商的重點業務,包含多個實時特征;大促看板,包含各種維度的統計指標(例如:各種維度的訂單、UV、轉化率、漏斗等),供領導層、運營、產品決策使用;實時數據清洗,從用戶埋點收集來數據,進行實時清洗和關聯,為下游的各個業務提供更好的數據;此外還有互聯網金融、安全風控、與友商比價等業務,以及Logview、Mercury、Titan作為內部服務的監控系統、VDRC實時數據同步系統等。

Apache Flink在唯品會的實踐

實時平臺的職責主要包括實時計算平臺和實時基礎數據。實時計算平臺在Storm、Spark、Flink等計算框架的基礎上,為監控、穩定性提供了保障,為業務開發提供了數據的輸入與輸出。實時基礎數據包含對上游埋點的定義和規范化,對用戶行為數據、MySQL的Binlog日志等數據進行清洗、打寬等處理,為下游提供質量保證的數據。

在架構設計上,包括兩大數據源。一種是在App、微信、H5等應用上的埋點數據,原始數據收集后發送到在kafka中;另一種是線上實時數據的MySQL Binlog日志。數據在計算框架里面做清洗關聯,把原始的數據通過實時ETL為下游的業務應用(包括離線寬表等)提供更易于使用的數據。

Apache Flink在唯品會的實踐

Flink在唯品會的實踐

場景一:Dataeye實時看板

Dataeye實時看板是支持需要對所有的埋點數據、訂單數據等進行實時計算時,具有數據量大的特點,并且需要統計的維度有很多,例如全站、二級平臺、部類、檔期、人群、活動、時間維度等,提高了計算的復雜程度,統計的數據輸出指標每秒鐘可以達到幾十萬。

以UV計算為例,首先對Kafka內的埋點數據進行清洗,然后與Redis數據進行關聯,關聯好的數據寫入Kafka中;后續Flink計算任務消費Kafka的關聯數據。通常任務的計算結果的量也很大(由于計算維度和指標特別多,可以達到上千萬),數據輸出通過也是通過Kafka作為緩沖,最終使用同步任務同步到HBase中,作為實時數據展示。同步任務會對寫入HBase的數據限流和同類型的指標合并,保護HBase。與此同時還有另一路計算方案作為容災。 

Apache Flink在唯品會的實踐

在以Storm進行計算引擎中進行計算時,需要使用Redis作為中間狀態的存儲,而切換到Flink后,Flink自身具備狀態存儲,節省了存儲空間;由于不需要訪問Redis,也提升了性能,整體資源消耗降低到了原來的1/3。

在將計算任務從Storm逐步遷移到Flink的過程中,對兩路方案先后進行遷移,同時將計算任務和同步任務分離,緩解了數據寫入HBase的壓力。

切換到Flink后也需要對一些問題進行追蹤和改進。對于FlinkKafkaConsumer,由于業務原因對kafka中的Aotu Commit進行修改,以及對offset的設定,需要自己實現支持kafka集群切換的功能。對不帶window的state數據需要手動清理。還有計算框架的通病——數據傾斜問題需要處理。同時對于同步任務追數問題,Storm可以從Redis中取值,Flink只能等待。

場景二:Kafka數據落地HDFS

之前都是通過Spark Streaming的方式去實現,現在正在逐步切換到Flink上面,通過OrcBucketingTableSink將埋點數據落地到HDFS上的Hive表中。在Flink處理中單Task Write可達到3.5K/s左右,使用Flink后資源消耗降低了90%,同時將延遲30s降低到了3s以內。目前還在做Flink對Spark Bucket Table的支持。

場景三:實時的ETL

對于ETL處理工作而言,存在的一個痛點就是字典表存儲在HDFS中,并且是不斷變化的,而實時的數據流需要與字典表進行join。字典表的變化是由離線批處理任務引起的,目前的做法是使用ContinuousFileMonitoringFunction和ContinuousFileReaderOperator定時監聽HDFS數據變化,不斷地將新數據刷入,使用***的數據去做join實時數據。

我們計劃做更加通用的方式,去支持Hive表和Stream的join,實現Hive表數據變化之后,數據自動推送的效果。

Flink On K8S

在唯品會內部有一些不同的計算框架,有實時計算的,有機器學習的,還有離線計算的,所以需要一個統一的底層框架來進行管理,因此將Flink遷移到了K8S上。

在K8S上使用了思科的網絡組件,每個docker容器都有獨立的ip,對外也是可見的。實時平臺的融合器整體架構如下圖所示。

Apache Flink在唯品會的實踐

唯品會在K8S上的實現方案與Flink社區提供的方案差異還是很大的。唯品會使用K8S StatefulSet模式部署,內部實現了cluster相關的一些接口。一個job對應一個mini cluster,并且支持HA。對于Flink來說,使用StatefulSet的***的原因是pod的hostname是有序的;這樣潛在的好處有:

hostname為-0和-1的pod可以直接指定為jobmanager;可以使用一個statefulset啟動一個cluster,而deployment必須2個;Jobmanager和TaskManager分別獨立的deployment。

pod由于各種原因fail后,由于StatefulSet重新拉起的pod的hostname不變,集群recover的速度理論上可以比deployment更快(deployment每次主機名隨機)。 鏡像的docker entrypoint腳本里面需要設置的環境變量設置說明:

| 環境變量名稱 | 參數 | 示例內容 | 說明 | |--- |---|---|---|---| | JOB_MANGER_HOSTS | StatefulSet.name-0,StatefulSet.name-1 | flink-cluster-0,flink-cluster-1 | JM的主機名,短主機名;可以不用FQDN | | FLINK_CLUSTER_IDENT | namespace/StatefulSet.name | default/flink-cluster | 用來做zk ha設置和hdfs checkpiont的根目錄 | | TASK_MANAGER_NUMBER_OF_TASK_SLOTS | containers.resources.cpu.limits | 2 | TM的slot數量,根據resources.cpu.limits來設置 | | FLINK_ZK_QUORUM | env:FLINK_ZK_QUORUM | 10.198.199.112:2181 | HA ZK的地址 | | JOB_MANAGER_HEAP_MB | env:JOB_MANAGER_HEAP_MB value:containers.resources.memory.limit -1024 | 4096 | JM的Heap大小,由于存在堆外內存,需要小于container.resources.memory.limits;否則容易OOM kill | | TASK_MANAGER_HEAP_MB | env:TASK_MANAGER_HEAP_MB value: containers.resources.memory.limit -1024 |4096 | JM的Heap大小,由于存在堆外內存,需要小于container.resources.memory.limits;否則容易OOM kill |

對應Flink集群所依賴的HDFS等其他配置,則通過創建configmap來管理和維護。

  1. kubectl create configmap hdfs-conf --from-file=hdfs-site.xml --from-file=core-site.xml 

后續計劃

當前實時系統,機器學習平臺要處理的數據分布在各種數據存儲組件中,如Kafka、Redis、Tair和HDFS等,如何方便高效的訪問,處理,共享這些數據是一個很大的挑戰,對于當前的數據訪問和解析常常需要耗費很多的精力,主要的痛點包括:

  • 對于Kafka,Redis,Tair中的binary(PB/Avro等格式)數據,使用者無法快速直接的了解數據的schema與數據內容,采集數據內容及與寫入者的溝通成本很高。
  • 由于缺少獨立的統一數據系統服務,對Kafka,Redis,Tair等中的binary數據訪問需要依賴寫入者提供的信息,如proto生成類,數據格式wiki定義等,維護成本高,容易出錯。
  • 缺乏relational schema使得使用者無法直接基于更高效易用的SQL或LINQ層API開發業務。
  • 無法通過一個獨立的服務方便的發布和共享數據。
  • 實時數據無法直接提供給Batch SQL引擎使用。
  • 此外,對于當前大部分的數據源的訪問也缺少審計,權限管理,訪問監控,跟蹤等特性。

UDM(統一數據管理系統)包括Location Manager, Schema Metastore以及Client Proxy等模塊,主要的功能包括:

  • 提供從名字到地址的映射服務,使用者通過抽象名字而不是具體地址訪問數據。
  • 用戶可以方便的通過Web GUI界面方便的查看數據Schema,探查數據內容。
  • 提供支持審計,監控,溯源等附加功能的Client API Proxy。
  • 在Spark/Flink/Storm等框架中,以最適合使用的形式提供這些數據源的封裝。

UDM的整體架構如下圖所示:

 

Apache Flink在唯品會的實踐

UDM的使用者包括實時,機器學習以及離線平臺中數據的生產者和使用者。在使用Sql API或Table API的時候,首先完成Schema的注冊,之后使用Sql進行開發,降低了開發代碼量。

Apache Flink在唯品會的實踐

在Flink中,使用UDMExternalCatalog來打通Flink計算框架和UDM之間的橋梁,通過實現ExternalCatalog的各個接口,以及實現各自數據源的TableSourceFactory,完成Schema和接入管控等各項功能。

關于作者:王新春目前在唯品會負責實時平臺相關內容,主要包括實時計算框架和提供實時基礎數據,以及機器學習平臺的工作。之前在美團點評,也是負責大數據平臺工作。他已經在大數據實時處理方向積累了豐富的工作經驗。

責任編輯:未麗燕 來源: 李博bluemind
相關推薦

2021-05-06 11:54:40

大數據Flink

2017-03-22 09:04:21

敏捷Scrum實踐

2017-03-21 10:24:40

敏捷Scrum實踐總結

2017-03-29 10:09:44

敏捷Scrum實踐

2024-06-03 10:19:05

2016-11-10 19:10:09

唯品會雙11

2021-05-20 09:55:23

Apache Flin阿里云大數據

2022-09-16 08:23:22

Flink數據湖優化

2014-02-25 19:22:18

唯品會樂蜂網

2019-04-30 09:00:33

SQL數據庫Apache Flin

2022-04-22 09:05:12

蔚來汽車Flink實時數倉

2015-08-11 07:17:56

唯品會電商運營移動互聯網

2022-05-10 08:27:15

小紅書FlinkK8s

2025-11-18 05:00:00

2022-06-10 15:21:15

MySQL CDCSqlServer數據庫

2023-06-07 07:27:32

唯品會冷凍系統故障

2013-08-09 16:54:07

華為ICT華為

2022-07-08 09:26:45

Flink快手計算

2022-04-07 16:50:28

FlinkB站Kafka
點贊
收藏

51CTO技術棧公眾號

宅男噜噜噜66一区二区66| 久久成年人免费电影| 日韩精品一区二区免费| 宅男噜噜噜66国产日韩在线观看| 国内精品久久久久伊人av| 四虎影视4hu4虎成人| 欧美狂野另类xxxxoooo| 在线一级观看| 亚洲资源在线观看| 四虎最新网站| 国产精品丝袜一区| 水蜜桃色314在线观看| 日本女人一区二区三区| 国产综合精品一区二区三区| 久久亚洲专区| 国产日韩精品视频| 成人精品亚洲| 国产美女精品免费电影| 国产精品午夜一区二区三区| 日本一区二区三区四区视频| 亚洲美女久久| 国产精品69久久久久| 欧美色婷婷久久99精品红桃| 国产精品亚洲第一区| 色一区二区三区四区| 国产在线视频91| 综合久久婷婷| 久久综合九九| 日韩1区2区日韩1区2区| 青春草在线视频免费观看| 国内精品久久久久影院薰衣草| 日韩 欧美 自拍| 国产v综合v亚洲欧| 成年女人18级毛片毛片免费| 99久久婷婷国产综合精品| 国产精品亚洲αv天堂无码| 久久毛片高清国产| 一区二区三区视频网| 亚洲免费av在线| 伊人久久青青草| 欧美精品精品一区| 阿v视频在线观看| 日韩中文视频免费在线观看| 国产主播性色av福利精品一区| 国产精品成人播放| 精品9999| 国产一二三四五| 久久精品一区四区| 欧美13~18sex性hd| 欧美色精品在线视频| 羞羞污视频在线观看| 国产午夜一区二区| 亚洲三级av| 亚洲精品免费网站| 美女视频黄频大全不卡视频在线播放| 日韩网站在线免费观看| 亚洲欧美aⅴ...| 成人福利在线| 永久555www成人免费| 久久香蕉精品香蕉| 成人在线观看av| 夫妻av一区二区| 激情六月婷婷| 欧美一二三在线| 欧洲一区在线| 国产伦理一区二区三区| 懂色一区二区三区免费观看| 妞干网2018| 色综合久久久久久久久| 一本大道色婷婷在线| 国产suv精品一区二区| 久久久久国产一区二区| 91淫黄看大片| 欧美老女人第四色| 久久久久亚洲精品中文字幕| 91成人免费看| 91小视频免费观看| 北条麻妃在线| 久久九九精品99国产精品| 综合天堂av久久久久久久| 国产日产欧美一区二区| 午夜国产精品影院在线观看| 丰满大乳少妇在线观看网站| 2018日韩中文字幕| 日本sm残虐另类| 国产精品区在线| 欧美一级艳片视频免费观看| 精品国产一区二区三区不卡蜜臂| 九九九九精品九九九九| 91麻豆免费看片| 免费高清在线观看| 性欧美视频videos6一9| 奇米色一区二区三区四区| 天堂中文字幕| 久久躁日日躁aaaaxxxx| 亚洲作爱视频| 中文在线一二区| 欧美激情精品久久久久久| 视频在线观看国产精品| 在线影院福利| 青青草影院在线观看| 色狠狠色噜噜噜综合网| 男女视频在线| 日韩美女毛茸茸| 成年人三级视频| 色老汉一区二区三区| 97se亚洲国产一区二区三区| 日韩性感在线| 欧美性生活久久| 免费精品国产的网站免费观看| 青青草原国产免费| 欧美精品乱人伦久久久久久| 欧美日韩在线播放视频| 热久久精品国产| 亚洲午夜激情免费视频| 久久国产精品99国产| 欧美孕妇孕交| 国产精品久久久久91| 欧美韩日一区二区三区| 看片一区二区| 免费的一级黄色片| 亚洲国产精品国自产拍av秋霞| 精品电影一区| 日本护士...精品国| 国产精品黄视频| 亚洲色图在线看| 97色在线观看| 2欧美一区二区三区在线观看视频| 精品国模一区二区三区欧美| 成人做爰视频www网站小优视频| 一区二区在线观看视频| 亚洲一级影院| 亚洲黄色网址| 香蕉精品999视频一区二区| 欧美乱妇一区二区三区不卡视频| 成人精品亚洲人成在线| 免费精品一区| 亚洲第一激情av| 精品女人视频| 国产熟人av一二三区| 日韩亚洲成人av在线| 91精品韩国| 无码人妻h动漫| 色综合影院在线观看| 亚洲欧美日韩在线| 亚洲亚洲一区二区三区| 日本熟妇人妻中出| 78色国产精品| 亚洲一区在线观看免费观看电影高清| 国产一区二区三区四区五区传媒| 久草在线在线| 国产伦理一区二区三区| 亚洲福利视频网站| 久久白虎精品| 国产精品黄色av| 色婷婷亚洲精品| 国产精品三上| 日本中文字幕中出在线| 伊人再见免费在线观看高清版| 精品国产自在精品国产浪潮| 成人欧美一区二区三区白人| 国产伦精品一区二区三区视频| 十九岁完整版在线观看好看云免费| 国内视频一区| 色午夜这里只有精品| 一区二区理论电影在线观看| 亚洲电影影音先锋| 亚洲大胆人体大胆做受1| 91传媒免费视频| av在线理伦电影| 成人短视频软件网站大全app| 一二三四中文字幕| 精品少妇v888av| 午夜久久久久久久久久一区二区| 很黄很污的网站| 在线观看国产中文字幕| 日韩爱爱小视频| 阿v天堂2017| 欧美一区不卡| 麻豆网站视频在线观看| 一区二区视频在线免费| 久久99热精品| 亚洲一区二区三区在线播放| 国产一区成人| 亚洲欧洲专区| 日韩av视屏| 黄色污污在线观看| 97视频在线免费观看| 精品视频在线看| a在线播放不卡| 在线视频三区| 成人午夜又粗又硬又大| 136国产福利精品导航网址应用| 最新亚洲伊人网| 永久久久久久| 国产成人综合久久| 精品国产乱码久久久久久久久| 国产精品水嫩水嫩| 久久xxxx精品视频| 台湾色综合娱乐中文网|