中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Pig安裝講解-創(chuàng)新互聯(lián)

Pig 簡介:

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),貴德企業(yè)網(wǎng)站建設(shè),貴德品牌網(wǎng)站建設(shè),網(wǎng)站定制,貴德網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,貴德網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

     Pig 是 Apache 項(xiàng)目的一個(gè)子項(xiàng)目,Pig 提供了一個(gè)支持大規(guī)模數(shù)據(jù)分析的平臺(tái),Pig 突出的特點(diǎn)就是它的結(jié)構(gòu)經(jīng)得起大量并行任務(wù)的檢驗(yàn),使得它能夠處理大規(guī)模數(shù)據(jù)集

Pig 特點(diǎn):


    Pig 可簡化 MapReduce 任務(wù)的開發(fā)

  Pig 可以看做 Hadoop 的客戶端軟件,可以連接到 Hadoop 集群進(jìn)行數(shù)據(jù)分析工作

    Pig 方便不熟悉 Java 的用戶,使用一種較為簡便的類似 SQL 的面向數(shù)據(jù)流的語言 PigLatin 語言進(jìn)行數(shù)據(jù)處理

    PigLatin 可以進(jìn)行排序,過濾,求和,分組,關(guān)聯(lián)等常用操作,還可以自定義函數(shù),這是面向數(shù)據(jù)分析處理的輕量級(jí)腳本語言


    Pig 可以看做是 PigLatin 到 MapReduce 的映射器


  當(dāng)Pig在MapReduce模式運(yùn)行時(shí),它將訪問一個(gè)Hadoop集群和HDFS的安裝位置。這時(shí)Pig將自動(dòng)地對(duì)這個(gè)集群進(jìn)行分配和回收

Pig 的數(shù)據(jù)模式: relation(關(guān)系), bag(包), tuple(元組), field(字段,列)

        relation(關(guān)系):具有相同字段(列)的 tuple 稱為關(guān)系


        bag(包):與關(guān)系型數(shù)據(jù)庫中的表類似,包含多個(gè) tuple,


        tuple(元組):相當(dāng)于關(guān)系型數(shù)據(jù)庫中的行,與關(guān)系型數(shù)據(jù)庫不同的是,tuple 不要求每一行具有相同的結(jié)構(gòu)


        field(字段,列):與關(guān)系型數(shù)據(jù)庫中的列相似,不同的是,field 中可以嵌套表,而關(guān)系型 數(shù)據(jù)庫中的列中不可以嵌套表



Pig 的安裝和配置:


    安裝: 解壓安裝包并添加環(huán)境變量即可


            tar -zxvf pig-0.17.0.tar.gz -C ~/app

            vim ~/.bash_profix


                PIG_HOME= PIG_HOME=/app/pig-0.17.0

                export PIG_HOME


                PATH=$PIG_HOME/bin:$PATH


                export PATH


    Pig 有兩種運(yùn)行模式:本地模式: 操作 Linux 文件

                                                        啟動(dòng)方式: pig -x  local


                                     集群模式: 鏈接到 HDFS


                                                PIG_CLASSPATH=/app/hadoop-2.7.3/etc/hadoop


                                                export  PIG_CLASSPATH

                                                        啟動(dòng)命令: pig


Pig 操作 Linux 命令:

         sh 后面跟linux 命令可以直接對(duì) linux 中的文件進(jìn)行操作

       ls  cd  cat  mkdir  pwd 操作 HDFS


         copyFromLocal  從linux 系統(tǒng) copy 文件到 HDFS


         copyToLocal        從 HDFS copy 文件到 linux 系統(tǒng)


         register  define        使用 Pig 自定義函數(shù)


PigLatin 語句:

        ---> 需要使用 Hadoop 的 HistoryServer


                mr-jobhistory-daemon.sh start historyserver


                地址: http://192.168.10.100:19888/jobhistory


        ---> 常用的 PigLatin 語句


                load                        加載數(shù)據(jù)到 bag (表)


                foreach                  相當(dāng)于循環(huán), 對(duì) bag 每一條數(shù)據(jù)遍歷


        filter                        相當(dāng)于 where

        group by                分組

        join                         連接

        generate                 提取列

        union/intersect        集合運(yùn)算

        輸出:dump            直接打印到屏幕上

    ·                     store             輸出到 HDFS 上


舉例: 7654,MARTIN,SALESMAN,7698,1981/9/28,1250,1400,30

加載員工數(shù)據(jù)到bag(表)


        emp = load '/input/table/emp.csv' using PigStorage(',')

                    as  (empno:int, ename:chararray, job:chararray, mgr:int, hiredate:chararray, sal:int, comm:int, deptno:int );


        dept = load '/scott/dept.csv' using PigStorage(',') as(deptno:int,dname:chararray,loc:chararray);

        查看表結(jié)構(gòu): describe  emp;


查詢員工信息:員工號(hào), 姓名, 薪水

        SQL語句: select empno, ename, sal from  emp ;


        PL 語句: emp = foreach emp generate empno, ename, sal;


                        輸出到屏幕上: dump emp;


查詢員工信息,按照月薪排序:

        SQL 語句:select * from emp order by sal ;


        PL 語句:emp = order emp by sal ;


分組:求每個(gè)部門工資最高值

        SQL語句: select  deptno, max(sql)  from emp group by deptno ;


        PL 語句:需要分兩部


                    1. 分組


                        emp_group = group emp by deptno ;


                    2. 求每個(gè)部門大值


                        max_sal = foreach emp_group generate group, MAX(emp.sal)


查詢 10 號(hào)部門的員工:

        SQL 語句: select * from emp where deptno = 10 ;


        PL 語句: deptno_10 = filter emp by deptno==10 ;


多表查詢:員工姓名, 部門名稱

        SQL 語句: select e.ename d.dname from emp e, dept d where e.ename=d.dname;

        PL 語句: 分兩部實(shí)現(xiàn)


            1. 將兩個(gè)表中的兩個(gè)字段提取出來放入一張表中


                newtable = join dept by deptno, emp by ename


          2. 遍歷提取出來的表,將 員工表的員工姓名, 部門表的部門名稱提取出來


                table = foreach newtable generate dept:: dname, emp:: ename


集合運(yùn)算: 關(guān)系型數(shù)據(jù)庫 Oracle : 參與集合運(yùn)算的各個(gè)集合必須列數(shù)相同且類型一致

        查詢 10 號(hào) 和 20 號(hào)部門的員工


        SQL 語句: select * from emp where deptno=10

                            union select * from emp where deptno=20;


        PL 語句:emp10 = filter emp by deptno==10;


                        emp20 = filter dept by deptno==20;


                        emp10_20 = union emp10, emp20;


使用PL實(shí)現(xiàn)WordCount:

① 加載數(shù)據(jù)

mydata = load '/data/data.txt' as (line:chararray);

② 將字符串分割成單詞

words = foreach mydata generate flatten(TOKENIZE(line)) as word;

③ 對(duì)單詞進(jìn)行分組

grpd = group words by word;

④ 統(tǒng)計(jì)每組中單詞數(shù)量

cntd = foreach grpd generate group,COUNT(words);

⑤ 打印結(jié)果

dump cntd;

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前文章:Pig安裝講解-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.rwnh.cn/article22/cegsjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站收錄、網(wǎng)站建設(shè)、搜索引擎優(yōu)化、網(wǎng)站改版、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
蚌埠市| 高州市| 光泽县| 嘉黎县| 眉山市| 兴国县| 太仓市| 乌拉特中旗| 曲沃县| 芦溪县| 嘉鱼县| 瑞丽市| 固安县| 洛扎县| 常山县| 崇信县| 江阴市| 新河县| 盈江县| 辽阳市| 泸州市| 新平| 侯马市| 津市市| 陇南市| 尚志市| 溧水县| 江陵县| 平远县| 合作市| 中超| 镇巴县| 肥乡县| 股票| 南宁市| 城固县| 丽江市| 南丹县| 临泽县| 蒙城县| 威信县|