日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

kafka python框架_为什么选择R而不是Python做ETL

發布時間:2023/12/10 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kafka python框架_为什么选择R而不是Python做ETL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導讀:

1. 打破R慢的印象,ETL效率顯著優于Python,堪比spark,clickhouse
2. 對比python中的datatable、pandas、dask、cuDF、modin,R中data.table以及spark、clickhouse
3. 探討R中的ETL體系

ETL在數據工作中起著至關重要的作用,主要用途有兩個:(1)數據生產(2)為探索性數據分析與數據建模服務。

做過建模的小伙伴都知道,70%甚至80%的工作都是在做數據清洗;又如,探索性數據分析中會涉及到各種轉置、分類匯總、長寬表轉換、連接等。因此,ETL效率在整個項目中起著舉足輕重的作用。

而日常數據生產中,有時會牽扯到模型計算,一般以R、python為主,且1~100G左右的數據是常態。基于此,于是想對比下R、Python中ETL的效率。

目前已有研究

H2O團隊一直在運行這個測試項目, 其中:

  • Python用到了:(py)datatable, pandas, dask, cuDF(moding.pandas在下文作者親自測試了下);
  • R: data.table, dplyr;
  • julia: DataFrames.jl;
  • clickhouse;
  • spark

測試內容有groupby、join、sort等。測試數據長這樣:

廢話不多說,先看部分結果的截圖吧。

5G數據

50G數據

詳細報告見:https://url.cn/5qTWlNQ

上圖截取的是復雜的groupby問題中對于5G與50G數據各ETL工具的用時情況,項目運行服務器的內存為128G,核數40。可以看到,無論是5G還是50G的數據,data.table的性能都在python之上,堪比spark、clickhouse。

modin.pandas vs data.table

modin.pandas與data.table測試結果如下,所用數據5G,數據格式如上。服務器為32G、8核,拉取Python3.6、R3.6.2兩個docker分別測試。

1.讀取

  • data.table用時89秒,內存峰值消耗7G
  • modin.pandas用時58秒,內存峰值消耗25G

本測試所用的是modin[ray],似乎modin.pandas一直有內存管理的問題,參考:

1.1 Fundamental memory leak in Modin:https://url.cn/5HlosKF
1.2 modin read big csv failed:https://url.cn/5cOdpVJ

2.分類匯總

測試內容:對于id3, id4兩列分類匯總求v3的中位數與標準差

  • data.table用時10.5秒
data[, .(median_v3 = median(v3), sd_v3 = sd(v3)), by = .(id4, id5)]
  • modin用時174秒,由于modin暫不支持多列的groupby,實際上還是用的pandas的groupby
x.groupby([‘id4’,‘id5’]).agg({‘v3’: [‘median’,‘std’]})
UserWarning: DataFrame.groupby_on_multiple_columns defaulting to pandas implementation.

3.長寬表變換

測試內容:id1, id4不動,對id5橫向展開,值為對v3求均值

  • data.table用時3.3秒
dcast.data.table(ans, id1 + id4 ~ id5, value.var = “v3”, fun.aggregate = mean)

R ETL開發框架

開發環境為docker版的Rstudio-server,rstudio本身為最好用的IDE之一,開發效率高,debug方便。

并且,rstudio-server為線上版本的rstudio,后臺就是linux環境,前端為rstudio的ui,因此無需為開發環境與生產環境不一致而苦惱,更不會因為某些包只能linux使用而無法在windows使用而苦惱。

目前本人工作中負責一個項目的數據生產,大致流程如下。首先,用presto從hive中讀取數據,從ADB讀取數據,數據量在5G左右。中間涉及到PCA以及其他計算,最后入庫mysql,該任務每天跑一次 。

一個可行的實施方案為Rpresto、RMysql提供I/O支持,data.table提供主體ETL,crontab提供調度服務。

下圖是個簡易版R的ETL框架,可處理G以下數據,

##################################################

2020年1月14號更新:關于應用場景,再次說明下,

G級別數據或以下,頻率低(如們每天跑一次),涉及到模型計算
  • 調度請用crontab,airflow;
  • 涉及到消息隊列請用kafka;
  • 實時性高但數據量又大請用flink流計算;
  • 大量消息隊列,且每個都實時性要求高,且數據量大,請用kafka+flink,如實時推薦系統。
  • 標*的部分為還沒有測試過。

    ##################################################

    對R和數據科學感興趣的小伙伴,歡迎關注公眾號:R語言工程化

    總結

    以上是生活随笔為你收集整理的kafka python框架_为什么选择R而不是Python做ETL的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 女人被男人躁得好爽免费视频 | 欧美日在线观看 | 97超碰在 | 国产精品无码影院 | 人人插人人 | 国产成人在线观看免费网站 | 欧美亚洲另类在线 | 麻豆视频在线 | 人妻巨大乳一二三区 | 99色精品 | 成年人网站在线免费观看 | 国产精品视频一二区 | 香蕉视频成人在线 | 亚洲欧美综合在线观看 | 综合色婷婷一区二区亚洲欧美国产 | 性色视频在线 | 国产麻豆91视频 | 久久国产经典 | 欧美69视频 | 丰满少妇被猛烈进入一区二区 | 黄色片a级片 | 欧美在线免费 | 成人免费一级 | 中文字幕精品久久久久人妻红杏1 | 国产亚洲女人久久久久毛片 | 校园激情亚洲 | av在线等| 欧美日韩免费在线观看 | 国产av人人夜夜澡人人爽麻豆 | 亚洲中文字幕无码不卡电影 | jzzijzzij亚洲成熟少妇 | 国产高中女学生第一次 | 爽爽窝窝午夜精品一区二区 | 青青操原 | 天堂中文视频 | 在线看片日韩 | 精品久久人人 | 国产69精品久久久久久 | 99在线视频播放 | 国产亚洲精久久久久久无码苍井空 | 无遮挡aaaaa大片免费看 | 亚洲精品乱码久久久久久黑人 | 六月丁香啪啪 | 黄色肉肉视频 | 亚洲理论电影在线观看 | www超碰| 成人av中文解说水果派 | 色亚洲天堂 | 天天干天天日夜夜操 | 娇小萝被两个黑人用半米长 | 涩涩涩999| 天堂av8| 日本一区二区三区欧美 | 三叶草欧洲码在线 | 99久久99久久精品国产片 | 成全影视在线观看第8季 | 在线观看aaa | 午夜宅男在线 | 国产三级国产精品国产国在线观看 | 亚洲一区二区av | 国内精品国产成人国产三级 | 天堂av网站 | www.日本高清 | 超碰97免费| 精品女同一区二区三区 | 水牛影视av一区二区免费 | 一区二区三区四区人妻 | 在线观看黄色免费网站 | 91久久精品国产91性色tv | 精品国产鲁一鲁一区二区张丽 | 天天爱夜夜操 | 日本a区 | 69亚洲精品久久久蜜桃小说 | av地址在线观看 | 疯狂少妇 | 黄色片子免费 | 又黄又色又爽 | 麻豆精品久久久久久久99蜜桃 | 日本高清黄色电影 | 日韩片在线观看 | www日日日 | 久久久久9999 | 超碰激情 | 激情视频网站在线观看 | 亚洲精品美女视频 | 久久天天躁狠狠躁夜夜av | 噜噜噜久久久 | 亚洲天堂伊人 | 婷婷综合五月 | 超级碰在线观看 | 日本精品在线观看视频 | 黄色一级网址 | 日日摸日日添日日躁av | 福利国产在线 | 国产欧美一区二区三区白浆喷水 | 欧美高h | 99re6热在线精品视频播放 | 久久久精品视频一区 | 国产视频一区二区在线观看 |