如何使用5個(gè)Python庫(kù)管理大數(shù)據(jù)?

如何使用5個(gè)Python庫(kù)管理大數(shù)據(jù)憔披?

如今爸吮,Python真是無(wú)處不在芬膝。盡管許多看門人爭(zhēng)辯說(shuō)形娇,如果他們不使用比Python更難的語(yǔ)言編寫代碼,那么一個(gè)人是否真是軟件開發(fā)人員癣缅,但它仍然無(wú)處不在哄酝。Python被用于自動(dòng)化,管理網(wǎng)站炫七,分析數(shù)據(jù)和處理大數(shù)據(jù)。隨著數(shù)據(jù)的增長(zhǎng)万哪,我們對(duì)其進(jìn)行管理的方式越來(lái)越需要調(diào)整抡秆。我們不再局限于僅使用關(guān)系型數(shù)據(jù)庫(kù)吟策。這也意味著現(xiàn)在有更多與這些新系統(tǒng)進(jìn)行交互的工具,例如Kafka着撩,Hadoop(具體來(lái)說(shuō)是HBase)匾委,Spark,BigQuery和Redshift(僅舉幾例)赂乐。這些系統(tǒng)中的每一個(gè)都利用如分布式、柱狀結(jié)構(gòu)和流數(shù)據(jù)之類的概念來(lái)更快地向終端用戶提供信息挖滤。對(duì)于更快浅役、更新的信息需求將促使數(shù)據(jù)工程師和軟件工程師利用這些工具。這就是為什么我們想要提供一些Python庫(kù)的快速介紹來(lái)幫助你觉既。

BigQuery

谷歌BigQuery是一個(gè)非常受歡迎的企業(yè)倉(cāng)庫(kù),由谷歌云平臺(tái)(GCP)和Bigtable組合而成奋救。這個(gè)云服務(wù)可以很好地處理各種大小的數(shù)據(jù)反惕,并在幾秒鐘內(nèi)執(zhí)行復(fù)雜的查詢。

BigQuery是一個(gè)RESTful網(wǎng)絡(luò)服務(wù)背亥,它使開發(fā)人員能夠結(jié)合谷歌云平臺(tái)對(duì)大量數(shù)據(jù)集進(jìn)行交互分析悬赏。可以看看下方另一個(gè)例子闽颇。

保存圖片

連接到BigQuery兵多,然后開始獲取有關(guān)將與之交互的表和數(shù)據(jù)集的信息尖啡。在這種情況下,Medicare數(shù)據(jù)集是任何人都可以訪問(wèn)的開源數(shù)據(jù)集盆顾。

關(guān)于BigQuery的另一點(diǎn)是畏梆,它是在Bigtable上運(yùn)行的。重要的是要了解該倉(cāng)庫(kù)不是事務(wù)型數(shù)據(jù)庫(kù)奠涌。因此,不能將其視為在線交易處理(OLTP)數(shù)據(jù)庫(kù)揖铜。它是專為大數(shù)據(jù)而設(shè)計(jì)的达皿。所以它的工作與千萬(wàn)字節(jié)(PB)級(jí)的數(shù)據(jù)集的處理保持一致。

Redshift?and?Sometimes?S3

接下來(lái)是亞馬遜(Amazon)流行的Redshift和S3龄寞。AmazonS3本質(zhì)上是一項(xiàng)存儲(chǔ)服務(wù),用于從互聯(lián)網(wǎng)上的任何地方存儲(chǔ)和檢索大量數(shù)據(jù)物邑。使用這項(xiàng)服務(wù)滔金,你只需為實(shí)際使用的存儲(chǔ)空間付費(fèi)。另一方面餐茵,Redshift是一個(gè)管理完善的數(shù)據(jù)倉(cāng)庫(kù)忿族,可以有效地處理千萬(wàn)字節(jié)(PB)級(jí)的數(shù)據(jù)。該服務(wù)使用SQL和BI工具可以更快地進(jìn)行查詢道批。

Amazon?Redshift和S3作為一個(gè)強(qiáng)大的組合來(lái)處理數(shù)據(jù):使用S3可以將大量數(shù)據(jù)上傳Redshift倉(cāng)庫(kù)。用Python編程時(shí)椭岩,這個(gè)功能強(qiáng)大的工具對(duì)開發(fā)人員來(lái)說(shuō)非常方便。

這是一個(gè)選擇使用psycopg2的基本連接的腳本判哥。我借用了Jaychoo代碼。但是惩琉,這再次提供了有關(guān)如何連接并從Redshift獲取數(shù)據(jù)的快速指南夺荒。

PySpark

讓我們離開數(shù)據(jù)存儲(chǔ)系統(tǒng)的世界,來(lái)研究有助于我們快速處理數(shù)據(jù)的工具技扼。Apache?Spark是一個(gè)非常流行的開源框架,可以執(zhí)行大規(guī)模的分布式數(shù)據(jù)處理窍箍,它也可以用于機(jī)器學(xué)習(xí)丽旅。該集群計(jì)算框架主要側(cè)重于簡(jiǎn)化分析。它與彈性分布式數(shù)據(jù)集(RDD)配合使用榄笙,并允許用戶處理Spark集群的管理資源。

它通常與其他Apache產(chǎn)品(例如HBase)結(jié)合使用帆卓。Spark將快速處理數(shù)據(jù)米丘,然后將其存儲(chǔ)到其他數(shù)據(jù)存儲(chǔ)系統(tǒng)上設(shè)置的表中。

有時(shí)候拄查,安裝PySpark可能是個(gè)挑戰(zhàn),因?yàn)樗枰蕾図?xiàng)腺毫。你可以看到它運(yùn)行在JVM之上挣柬,因此需要Java的底層基礎(chǔ)結(jié)構(gòu)才能運(yùn)行睛挚。然而,在Docker盛行的時(shí)代扎狱,使用PySpark進(jìn)行實(shí)驗(yàn)更加方便勃教。

阿里巴巴使用PySpark來(lái)個(gè)性化網(wǎng)頁(yè)和投放目標(biāo)廣告——正如許多其他大型數(shù)據(jù)驅(qū)動(dòng)組織一樣匠抗。

Kafka?PythonKafka

是一個(gè)分布式發(fā)布-訂閱消息傳遞系統(tǒng),它允許用戶在復(fù)制和分區(qū)主題中維護(hù)消息源绳军。

這些主題基本上是從客戶端接收數(shù)據(jù)并將其存儲(chǔ)在分區(qū)中的日志矢腻。Kafka?Python被設(shè)計(jì)為與Python接口集成的官方Java客戶端。它最好與新的代理商一起使用多柑,并向后兼容所有舊版本。使用KafkaPython編程同時(shí)需要引用使用者(KafkaConsumer)和引用生產(chǎn)者(KafkaProducer)聂沙。

在Kafka?Python中初嘹,這兩個(gè)方面并存。KafkaConsumer基本上是一個(gè)高級(jí)消息使用者削樊,將用作官方Java客戶端。

它要求代理商支持群組API甸箱。KafkaProducer是一個(gè)異步消息生成器迅脐,它的操作方式也非常類似于Java客戶端。生產(chǎn)者可以跨線程使用而沒(méi)有問(wèn)題谴蔑,而消費(fèi)者則需要多線程處理。

Pydoop

讓我們解決這個(gè)問(wèn)題窃躲。Hadoop本身并不是一個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng)钦睡。Hadoop實(shí)際上具幾個(gè)組件,包括MapReduce和Hadoop分布式文件系統(tǒng)(HDFS)。因此秧秉,Pydoop在此列表中衰抑,但是你需要將Hadoop與其他層(例如Hive)配對(duì),以便更輕松地處理數(shù)據(jù)呛踊。

Pydoop是Hadoop-Python界面,允許與HDFSAPI交互拇舀,并使用純Python代碼編寫MapReduce工作蜻底。

該庫(kù)允許開發(fā)人員無(wú)需了解Java即可訪問(wèn)重要的MapReduce功能,例如RecordReader和Partitioner薄辅。

對(duì)于大多數(shù)數(shù)據(jù)工程師而言,Pydoop本身可能有點(diǎn)太基本了脱惰。你們中的大多數(shù)人很可能會(huì)在Airbow中編寫在這些系統(tǒng)之上運(yùn)行的ETLs窿春。但是,至少對(duì)你的工作有一個(gè)大致的了解還是很不錯(cuò)的旧乞。

從哪里開始呢?

未來(lái)幾年嫡纠,管理大數(shù)據(jù)只會(huì)變得越來(lái)越困難延赌。由于日益劇增的網(wǎng)絡(luò)能力——物聯(lián)網(wǎng)(IoT),改進(jìn)的計(jì)算等等——我們得到的數(shù)據(jù)將會(huì)如洪流般地繼續(xù)增長(zhǎng)挫以。

因此,如果我們想要跟上步伐蠢棱,甩栈,有必要了解一些可用于與這些系統(tǒng)進(jìn)行交互的數(shù)據(jù)系統(tǒng)和庫(kù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末玉转,一起剝皮案震驚了整個(gè)濱河市殴蹄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌袭灯,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件橘茉,死亡現(xiàn)場(chǎng)離奇詭異姨丈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)翁潘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門歼争,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人俩莽,你說(shuō)我怎么就攤上這事洒沦。” “怎么了申眼?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵括尸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我濒翻,道長(zhǎng)啦膜,這世上最難降的妖魔是什么淌喻? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮八拱,結(jié)果婚禮上涯塔,老公的妹妹穿的比我還像新娘。我一直安慰自己匕荸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布诺凡。 她就那樣靜靜地躺著药薯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪真屯。 梳的紋絲不亂的頭發(fā)上穷娱,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音泵额,去河邊找鬼。 笑死篓叶,一個(gè)胖子當(dāng)著我的面吹牛羞秤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瘾蛋,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼哺哼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼叼风!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起棍苹,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懈贺,沒(méi)想到半個(gè)月后坡垫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體画侣,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年溉卓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搬泥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尉尾,死狀恐怖燥透,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情班套,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布吆豹,位于F島的核電站理盆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏速勇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一烦磁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧呕乎,春花似錦陨晶、人聲如沸猬仁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至铃芦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刃滓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工卓缰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留老客,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓鳍鸵,卻偏偏與公主長(zhǎng)得像尉间,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哲嘲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • pyspark.sql module Module context Spark SQL和DataFrames中的重...
    盜夢(mèng)者_(dá)56f2閱讀 5,415評(píng)論 0 19
  • 當(dāng)前眠副,整個(gè)互聯(lián)網(wǎng)正在從IT時(shí)代向DT時(shí)代演進(jìn),大數(shù)據(jù)技術(shù)也正在助力企業(yè)和公眾敲開DT世界大門霍弹。當(dāng)今“大數(shù)據(jù)”一詞的...
    吳瑞文閱讀 1,463評(píng)論 1 11
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,448評(píng)論 0 13
  • 日更到現(xiàn)在典格,已經(jīng)有一百多天了岛宦。其實(shí)對(duì)于從小寫日記的我而言耍缴,堅(jiān)持日更尚不算難事,只不過(guò)防嗡,最近似乎有些迷茫,可能寫作到...
    女巫溫妮閱讀 259評(píng)論 1 0
  • 其實(shí)好羨慕一個(gè)個(gè)家里出錢疫衩,然后到了暑假又是去意大利旅游又是去加拿大玩荣德,又是去韓國(guó)吃美食又是去日本瀟灑的同學(xué)的童芹。 但...
    只是想起大漠閱讀 232評(píng)論 0 0