`
gaojingsong
  • 浏览: 1182480 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

大数据--Apache Pig

阅读更多

1、Apache Pig 介绍

Apache Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. The salient property of Pig programs is that their structure is amenable to substantial parallelization, which in turns enables them to handle very large data sets.

 

At the present time, Pig's infrastructure layer consists of a compiler that produces sequences of Map-Reduce programs, for which large-scale parallel implementations already exist (e.g., the Hadoop subproject). Pig's language layer currently consists of a textual language called Pig Latin, which has the following key properties:

 

Ease of programming. It is trivial to achieve parallel execution of simple, "embarrassingly parallel" data analysis tasks. Complex tasks comprised of multiple interrelated data transformations are explicitly encoded as data flow sequences, making them easy to write, understand, and maintain.

Optimization opportunities. The way in which tasks are encoded permits the system to optimize their execution automatically, allowing the user to focus on semantics rather than efficiency.

Extensibility. Users can create their own functions to do special-purpose processing.

Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。

Apache Pig 是apache平台下的一个免费开源项目,Pig为大型数据集的处理提供了更高层次的抽象,很多时候数据的处理需要多个MapReduce过程才能实现,使得数据处理过程与该模式匹配可能很困难。有了Pig就能够使用更丰富的数据结构。

Pig LatinPig Latin 是一个相对简单的语言,一条语句 就是一个操作,与数据库的表类似,可以在关系数据库中找到它(其中,元组代表行,并且每个元组都由字段组成)。

Pig 拥有大量的数据类型,不仅支持包、元组和映射等高级概念,还支持简单的数据类型,如 int、long、float、double、chararray 和 bytearray。并且,还有一套完整的比较运算符,包括使用正则表达式的丰富匹配模式



 

 

 

2、Pig Latin 的基础知识

Pig Latin 是一个相对简单的语言,它可以执行语句。一调语句 就是一个操作,它需要输入一些内容(比如代表一个元组集的包),并发出另一个包作为其输出。一个 就是一个关系,与表类似,您可以在关系数据库中找到它(其中,元组代表行,并且每个元组都由字段组成)。

用 Pig Latin 编写的脚本往往遵循以下特定格式,从文件系统读取数据,对数据执行一系列操作(以一种或多种方式转换它),然后,将由此产生的关系写回文件系统。您可以在 清单 1 中看到该模式的最简单形式(一个转换)。

Pig 拥有大量的数据类型,不仅支持包、元组和映射等高级概念,还支持简单的数据类型,如 intlongfloatdoublechararray 和bytearray。如果使用简单的类型,您会发现,除了称为 bincond 的条件运算符(其操作类似于 C ternary 运算符)之外,还有其他许多算术运算符(比如 addsubtractmultiplydivide 和 module)。并且,如您所期望的那样,还有一套完整的比较运算符,包括使用正则表达式的丰富匹配模式。

所有 Pig Latin 语句都需要对关系进行操作(并被称为关系运算符)。正如您在 清单 1 中看到的,有一个运算符用于从文件系统加载数据和将数据存储到文件系统中。有一种方式可以通过迭代关系的行来 FILTER 数据。此功能常用于从后续操作不再需要的关系中删除数据。另外,如果您需要对关系的列进行迭代,而不是对行进行迭代,您可以使用 FOREACH 运算符。FOREACH 允许进行嵌套操作,如 FILTER 和 ORDER,以便在迭代过程中转换数据。

ORDER 运算符提供了基于一个或多个字段对关系进行排序的功能。JOIN 运算符基于公共字段执行两个或两个以上的关系的内部或外部联接。SPLIT 运算符提供了根据用户定义的表达式将一个关系拆分成两个或两个以上关系的功能。最后,GROUP 运算符根据某个表达式将数据分组成为一个或多个关系。

 

 

  • 大小: 13.6 KB
0
1
分享到:
评论

相关推荐

    大数据-倒闭企业大数据分析项目-DeathCompany.zip

    5. 分析工具:分析大数据通常会用到Apache Spark、Hive、Pig等工具,它们提供高效的数据处理和分析能力。此外,Python或R等编程语言也是进行数据分析和建模的常用选择。 6. 数据挖掘与分析:通过统计方法和机器学习...

    云计算分布式大数据-Hadoop深入浅出案例驱动实战外训讲义.rar

    Hadoop是由Apache基金会开发的一个分布式计算框架,最初由Google的MapReduce和GFS(Google文件系统)启发。Hadoop主要由两个核心组件构成:HDFS(Hadoop Distributed File System)和MapReduce。HDFS是一个高容错性...

    pig-0.9.2.tar.gz下载

    总结,"pig-0.9.2.tar.gz"是一个重要的数据处理工具,它通过Pig Latin语言简化了Map-Reduce的开发,使得非Java开发者也能轻松应对大数据挑战。通过深入理解和熟练使用Pig,我们可以更高效地挖掘和利用大规模数据,...

    IT18徐老师大数据完整视频

    Hadoop是大数据领域中的一个关键框架,由Apache软件基金会开发,主要用于分布式存储和计算。Hadoop基于Google的GFS(Google File System)和MapReduce论文设计,具有高容错性、可扩展性和低成本的特点。 1. HDFS...

    log4j-pig-master_java_

    在Java领域,"Pig"可能指的是Apache Pig,一个用于分析大数据的平台,或者是在项目中自定义的一个组件,负责处理特定的数据分析或流程控制任务。 总的来说,“log4j-pig-master_java_”项目展示了如何利用Spring ...

    pig-0.17.0.tar的安装包,

    首先,你需要从Apache官方网站下载 Pig-0.17.0 的源码包,文件名为 "pig-0.17.0.tar"。完成下载后,使用以下命令在Linux环境下进行解压: ```bash tar -xvf pig-0.17.0.tar ``` 这将在当前目录下创建一个名为 "pig...

    elephant-bird-pig-4.1.zip

    《Apache Cassandra 开发利器:elephant-bird-pig-4.1 与 cassandra-utils.zip 深度解析》 Apache Cassandra 是一个高度可扩展、高性能的分布式数据库系统,广泛应用于大数据存储和处理领域。在开发基于Cassandra的...

    大数据技术基础实验报告-pig的安装配置与应用.doc

    6. **配置Pig**:在`pig.properties`或`pig-env.sh`中设置Hadoop的相关配置,如`hadoop_bin_dir`等。 7. **测试安装**:通过运行`pig`命令来检查Pig是否成功安装。可以在Local模式和MapReduce模式下测试,确保Pig能...

    pig-0.7.0.tar.gz

    "pig-0.7.0.tar.gz"是一个包含Pig 0.7.0版本的压缩包,它的出现为我们提供了一个高效的、基于脚本语言的平台,用于构建大数据分析的应用程序。在这个版本中,Pig引入了多项改进和新特性,旨在提高数据分析的效率和...

    pig-0.16.0.tar安装包

    【标题】"pig-0.16.0.tar安装包" 涉及的主要知识点是Apache Pig的安装和使用,这是一个基于Hadoop的数据流编程平台,用于处理大规模数据集。Pig Latin是Pig的编程语言,它允许用户编写复杂的数据处理任务,而无需...

    大数据学习-基础视频.zip

    Hadoop是Apache软件基金会开发的一个开源框架,专门用于处理和存储大规模数据。它采用了分布式计算模式,使得在廉价硬件集群上处理大数据成为可能。 课程中,“基础视频”部分可能涵盖了Hadoop的生态系统,包括HDFS...

    大数据资源整理.docx

    - **Netflix PigPen**:将Pig脚本编译为Apache Pig的MapReduce任务。 - **Nokia Disco**:Nokia开发的MapReduce框架。 - **Google MillWheel**:容错流处理框架。 - **Pydoop**:Python接口,用于Hadoop的...

    apache-hadoop-3.1.0-winutils-master.zip

    Apache Hadoop是一个开源框架,主要用于分布式存储和计算大数据。在Hadoop生态系统中,`winutils.exe`是一个重要的组件,尤其对于Windows用户来说。这个压缩包`apache-hadoop-3.1.0-winutils-master.zip`提供了针对...

    大数据系列-Hive入门与实战.pptx

    大数据系列-Hive入门与实战 Hive 是什么? ---------------- Hive 是一个构建在 Hadoop 之上的数据仓库平台,能够将 SQL 语句转译成 MapReduce 作业,并在 Hadoop 集群上执行。Hive 表是 HDFS 的一个文件目录,一...

    云计算与大数据技术-Hadoop分布式大数据系统.rar

    Hadoop是Apache软件基金会的一个开源项目,它提供了一个分布式文件系统(HDFS)和一个并行数据处理框架MapReduce,这两个组件共同构成了大数据处理的基础架构。 大数据技术是现代信息技术的关键组成部分,它涉及对...

    大数据初次窥探---第一节.docx

    此外,还有其他相关组件,如HBase(列存储数据库)、Pig(数据流语言)、Hive(数据仓库)和Mahout(机器学习库)等,它们共同构成了大数据技术的生态系统。 Spark作为一个快速发展的生态圈,提供了比MapReduce更...

    完整版大数据课件集合2-大数据导论-第二章-大数据处理架构Hadoop(共44页).rar

    Hadoop是Apache软件基金会的一个开源项目,它为大规模数据集提供了分布式计算能力,是目前大数据处理领域的重要工具。 在描述中,提到的“共44页”表明这是一份详细的教学材料,涵盖了Hadoop的多个方面。通常,这样...

    pig-0.15.0

    标题“pig-0.15.0”表明我们讨论的是 Apache Pig 的一个重要版本,即0.15.0版。这一版本的发布对于数据科学家和Hadoop开发者来说,是一个重要的里程碑,因为它引入了许多改进和新特性。 Pig Latin 是 Pig 的核心,...

    log4j-pig-master.zip

    【标题】"log4j-pig-master.zip" 提示我们这个压缩包可能包含一个与日志管理和名为"pig"的项目相关的源代码仓库。"log4j"是Apache的一个开源项目,它为Java应用程序提供了强大的日志记录服务。在Java世界里,log4j是...

    news-sentiment-pig:在 Apache Pig 中开发报纸情感分析器

    在 Apache Pig 中开发报纸情感分析器 概括 新闻情感项目包括使用分布式数据处理技术分析大数据。 要求是在分布式数据处理框架中使用数据挖掘技术,例如“Hadoop”、“Stratosphere”、“Pig”。 所以我们选择了一个...

Global site tag (gtag.js) - Google Analytics