日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
創(chuàng)新互聯Apache Pig教程:Apache Pig 概述

什么是Apache Pig?

Apache Pig是MapReduce的一個抽象。它是一個工具/平臺,用于分析較大的數據集,并將它們表示為數據流。Pig通常與 Hadoop一起使用;我們可以使用Apache Pig在Hadoop中執(zhí)行所有的數據處理操作。

十余年的南京網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網站建設的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整南京建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯從事“南京網站設計”,“南京網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

要編寫數據分析程序,Pig提供了一種稱為 Pig Latin的高級語言。該語言提供了各種操作符,程序員可以利用它們開發(fā)自己的用于讀取,寫入和處理數據的功能。

要使用 Apache Pig分析數據,程序員需要使用Pig Latin語言編寫腳本。所有這些腳本都在內部轉換為Map和Reduce任務。Apache Pig有一個名為 Pig Engine的組件,它接受Pig Latin腳本作為輸入,并將這些腳本轉換為MapReduce作業(yè)。

為什么我們需要Apache Pig?

不太擅長Java的程序員通常習慣于使用Hadoop,特別是在執(zhí)行任一MapReduce作業(yè)時。Apache Pig是所有這樣的程序員的福音。

  • 使用 Pig Latin,程序員可以輕松地執(zhí)行MapReduce作業(yè),而無需在Java中鍵入復雜的代碼。

  • Apache Pig使用多查詢方法,從而減少代碼長度。例如,需要在Java中輸入200行代碼(LoC)的操作在Apache Pig中輸入少到10個LoC就能輕松完成。最終,Apache Pig將開發(fā)時間減少了近16倍。

  • Pig Latin是類似SQL的語言,當你熟悉SQL后,很容易學習Apache Pig。

  • Apache Pig提供了許多內置操作符來支持數據操作,如join,filter,ordering等。此外,它還提供嵌套數據類型,例如tuple(元組),bag(包)和MapReduce缺少的map(映射)。

Apache Pig的特點

Apache Pig具有以下特點:

  • 豐富的運算符集 - 它提供了許多運算符來執(zhí)行諸如join,sort,filer等操作。

  • 易于編程 - Pig Latin與SQL類似,如果你善于使用SQL,則很容易編寫Pig腳本。

  • 優(yōu)化機會 - Apache Pig中的任務自動優(yōu)化其執(zhí)行,因此程序員只需要關注語言的語義。

  • 可擴展性 - 使用現有的操作符,用戶可以開發(fā)自己的功能來讀取、處理和寫入數據。

  • 用戶定義函數 - Pig提供了在其他編程語言(如Java)中創(chuàng)建用戶定義函數的功能,并且可以調用或嵌入到Pig腳本中。

  • 處理各種數據 - Apache Pig分析各種數據,無論是結構化還是非結構化,它將結果存儲在HDFS中。

Apache Pig與MapReduce

下面列出的是Apache Pig和MapReduce之間的主要區(qū)別。

Apache PigMapReduce
Apache Pig是一種數據流語言。MapReduce是一種數據處理模式。
它是一種高級語言。MapReduce是低級和剛性的。
在Apache Pig中執(zhí)行Join操作非常簡單。在MapReduce中執(zhí)行數據集之間的Join操作是非常困難的。
任何具備SQL基礎知識的新手程序員都可以方便地使用Apache Pig工作。向Java公開是必須使用MapReduce。
Apache Pig使用多查詢方法,從而在很大程度上減少代碼的長度。MapReduce將需要幾乎20倍的行數來執(zhí)行相同的任務。
沒有必要編譯。執(zhí)行時,每個Apache Pig操作符都在內部轉換為MapReduce作業(yè)。MapReduce作業(yè)具有很長的編譯過程。

Apache Pig Vs SQL

下面列出了Apache Pig和SQL之間的主要區(qū)別。

PigSQL
Pig Latin是一種程序語言。SQL是一種聲明式語言。
在Apache Pig中,模式是可選的。我們可以存儲數據而無需設計模式(值存儲為$ 01,$ 02等)模式在SQL中是必需的。
Apache Pig中的數據模型是嵌套關系。SQL 中使用的數據模型是平面關系。
Apache Pig為查詢優(yōu)化提供有限的機會。在SQL中有更多的機會進行查詢優(yōu)化。

除了上面的區(qū)別,Apache Pig Latin:

  • 允許在pipeline(流水線)中拆分。
  • 允許開發(fā)人員在pipeline中的任何位置存儲數據。
  • 聲明執(zhí)行計劃。
  • 提供運算符來執(zhí)行ETL(Extract提取,Transform轉換和Load加載)功能。

Apache Pig VS Hive

Apache Pig和Hive都用于創(chuàng)建MapReduce作業(yè)。在某些情況下,Hive以與Apache Pig類似的方式在HDFS上運行。在下表中,我們列出了幾個重要的點區(qū)分Apache Pig與Hive。

Apache PigHive
Apache Pig使用一種名為 Pig Latin的語言(最初創(chuàng)建于 Yahoo)。Hive使用一種名為 HiveQL的語言(最初創(chuàng)建于 Facebook)。
Pig Latin是一種數據流語言。HiveQL是一種查詢處理語言。
Pig Latin是一個過程語言,它適合流水線范式。HiveQL是一種聲明性語言。
Apache Pig可以處理結構化,非結構化和半結構化數據。Hive主要用于結構化數據。

Apache Pig的應用程序

Apache Pig通常被數據科學家用于執(zhí)行涉及特定處理和快速原型設計的任務。使用Apache Pig:

  • 處理巨大的數據源,如Web日志。
  • 為搜索平臺執(zhí)行數據處理。
  • 處理時間敏感數據的加載。

Apache Pig歷史

2006年 時,Apache Pig是作為Yahoo的研究項目開發(fā)的,特別是在每個數據集上創(chuàng)建和執(zhí)行MapReduce作業(yè)。在 2007時,Apache Pig是通過Apache孵化器開源的。在 2008時,Apache Pig的第一個版本出來了。在 2010時,Apache Pig獲得為Apache頂級項目。


名稱欄目:創(chuàng)新互聯Apache Pig教程:Apache Pig 概述
文章源于:http://www.5511xx.com/article/djijsih.html