太原网站推广教程,宜宾做网站,扬州市规划建设局网站,用手机怎样制作网站使用 Apache Pig 从大数据集中获得所需的信息 Apache Pig 是一个高级过程语言#xff0c;适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询#xff0c;Pig 可以简化 Hadoop 的使用。本文将探索 Pig 背后的语言…使用 Apache Pig 从大数据集中获得所需的信息 Apache Pig 是一个高级过程语言适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询Pig 可以简化 Hadoop 的使用。本文将探索 Pig 背后的语言并在一个简单的 Hadoop 集群中发现其用途。 Hadoop 的普及和其生态系统的不断壮大并不令人感到意外。Hadoop 不断进步的一个特殊领域是 Hadoop 应用程序的编写。虽然编写 Map 和 Reduce 应用程序并不十分复杂但这些编程确实需要一些软件开发经验。Apache Pig 改变了这种状况它在 MapReduce 的基础上创建了更简单的过程语言抽象为 Hadoop 应用程序提供了一种更加接近结构化查询语言 (SQL) 的接口。因此您不需要编写一个单独的 MapReduce 应用程序您可以用 Pig Latin 语言写一个脚本在集群中自动并行处理与分发该脚本。 Pig Latin 示例 让我们从一个简单的 Pig 示例开始介绍并剖析该示例。Hadoop 的一个有趣的用法是在大型数据集中搜索满足某个给定搜索条件的记录在 Linux® 中被称为 grep。清单 1 显示了在 Pig 中实现该过程的简单性。在所显示的三行代码中只有一行是真正的搜索。第一行只是将测试数据集消息日志读取到代表元组集合的包中。用一个正则表达式来筛选该数据元组中的惟一条目表示为 $0 或 field 1然后查找字符序列 WARN。最后在主机文件系统中将这个包存储在一个名为 warnings 的新文件中这个包现在代表来自消息的包含 WARN 的所有元组。 清单 1. 一个简单的 Pig Latin 脚本 messages LOAD messages;
warns FILTER messages BY $0 MATCHES .*WARN.*;
STORE warns INTO warnings; 如您所见这个简单的脚本实现了一个简单的流但是如果直接在传统的 MapReduce 模型中实现它则需要增加大量的代码。这使得学习 Hadoop 并开始使用数据比原始开发容易得多。 现在让我们更深入地探讨 Pig 语言然后查看该语言的一些功能的其他示例。 示例演示 1、准备数据 messages文件 内容(含有两条WARN的) This is WARNING message1 This is INFOING message2 This is WARNING message3 2、上传数据 hadoop dfs -put messages /input3、运行pig进入grunt grunt messages load /input/messages; grunt warns filter messages by $0 matches .*WARN.*; grunt dump warns (This is WARNING message1) (This is WARNING message3) grunt store warns into /output/wranings; 保存进入文件位于hdfs上 参考http://www.ibm.com/developerworks/cn/linux/l-apachepigdataquery/index.html 转载于:https://www.cnblogs.com/jsunday/p/3789690.html