zoukankan      html  css  js  c++  java
  • Pig简单入门

    pig是hadoop客户端,使用类似于SQL的面向数据流的语言pig latin,这个语言可以完成排序,过滤,求和,关联等操作,可以支持自定义函数。Pig自动把pig latin 映射为Map-Reduce作业上传到集群运行,减少用户编写java程序的苦恼。

    Pig是专门用于处理来自于HDFS的数据的。

    Pig提供了一套流式的数据处理语言,转换为MapReduce,来处理HDFS中的数据。

    *HBase是用来存储和查询数据

    1、如何使用?

    直接解压缩,执行bin/pig,就进入到grunt命令行

    2、基础命令

    2.1、load 加载HDFS进入Pig

    a = load '/user.data'; 
    #默认加载的是用制表符分隔的数据
    # 访问列的时候,用$加上索引访问
    dump a;
    
    b=load '/user.data2' using PigStorage(';');
    #加载文件时指定分隔符
    dump b;
    
    c = load '/user.data' using HBaseStorage;
    #可以加载HBase中的数据
    dump c;
    
    d = load '/user.data' as (id,name);
    #指定字段名
    dump d;
    
    e = load '/user.data' as (id:int,name:bytearray);
    #指定字段名和类型
    dump e;

     

    2.2、store...into...写入到HDFS中

    store d into '/user.data3';
    fs -text 'user.data3';

     

    2.3、describe 显示关系结构

    2.4、foreach...generate... 迭代每一行记录

    f = foreach e generate id,name;
    dump f; 
    
    g = foreach a generate $0;
    dump g;
    #或者
    g = foreach a generate $0 as id;
    dump g;

     

    2.6、filter...by... 过滤

    h = filter f by id<2;
    dump h;

     

    2.7、group... by...分组

    group h by uid;

    2.8、order...by...

    i = order h by uid desc;

     

    2.9、distinct 去重

    distinct h;

     

    2.10、limit 限制记录数

    l = limit h 50;

     

    2.11、sample 取样

    sample h 0.1;
    #抽取整体的10%的样本

     

    2.12、join 合并

    join user by id, role by uid;

     

    2.13、parallel 并行

    3、自定义函数

    3.1、自定义过滤函数

    继承自FilterFunc

    3.2、自定义输入,输出函数

  • 相关阅读:
    vue移动框架vonic
    vue桌面端框架element
    vuex最简单的入门文档
    Vuex最简单教程
    环境配置
    【转】MyEclipse8.5集成Tomcat7时的启动错误:Exception in thread “main” java.lang.NoClassDefFoundError org/apache/commons/logging/LogFactory
    Java中获取完整的url
    【转载】Android Studio 设置内存大小及原理
    Android上实现仿IOS弹性ScrollView
    ServletContextListener 启动SPRING加载数据到缓存的应用
  • 原文地址:https://www.cnblogs.com/hpuCode/p/5220510.html
Copyright © 2011-2022 走看看