Apache Pig是一种用于处理大型数据集的开源软件,它可以帮助用户快速、有效地处理大量数据。它是基于Hadoop的,可以在Hadoop集群上运行,并且可以使用MapReduce来执行其中的任务。Pig是一种面向对象的语言,它使用一种类似SQL的语法来处理数据。它允许用户使用一系列命令来处理大量数据,而不需要写出MapReduce代码。
Pig有两个主要部分:Pig Latin和Pig Engine。Pig Latin是一种面向对象的语言,它使用一系列命令来处理大量数据。例如:LOAD、FILTER、GROUP BY、JOIN、ORDER BY、STORE 等命令。这些命令可以帮助用户快速地处理大量数据。Pig Engine是一个执行引擎,它将Pig Latin代码转换成MapReduce代码并将其发送到Hadoop集群上执行。
LOAD 'data.txt' USING PigStorage(',') AS (id:int, name:chararray, age:int); FILTER student BY age > 18; GROUP student BY age; STORE student INTO 'output' USING PigStorage(',');
Pig Latin的 TOMAP() 函数用于将key-value对转换为Map。
下面给出了 TOMAP() 函数的语法。
grunt> TOMAP(key-expression, value-expression [, key-expression, valueexpression ...])
假设在HDFS目录 /pig_data/ 中有一个名为 employee_details.txt 的文件,其中包含以下内容。
employee_details.txt
001,Robin,22,newyork 002,BOB,23,Kolkata 003,Maya,23,Tokyo 004,Sara,25,London 005,David,23,Bhuwaneshwar 006,Maggy,22,Chennai
通过使用关系 emp_data 将此文件加载到Pig中,如下所示。
grunt> emp_data = LOAD 'hdfs://localhost:9000/pig_data/employee_details.txt' USING PigStorage(',') as (id:int, name:chararray, age:int, city:chararray);
现在让我们将每个记录的名称和年龄作为key-value对,并将它们转换为map,如下所示。
grunt> tomap = FOREACH emp_data GENERATE TOMAP(name, age);
您可以使用 Dump 运算符验证 tomap 关系的内容,如下所示。
grunt> DUMP tomap; ([Robin#22]) ([BOB#23]) ([Maya#23]) ([Sara#25]) ([David#23]) ([Maggy#22])
Pig Latin的 COSH()函数用于计算给定表达式的双曲余弦值。语法这是 COSH()函数的语法。grunt COSH(expression)例假设在 HDFS 目...
SINH()函数用于计算给定表达式的双曲正弦值。语法 这里是 SINH() 函数的语法。grunt SINH(expression)例假设在 HDFS 目录 /pig_d...
访问分析获取小程序访问分析数据,数据说明参见访问分析访问趋势日趋势接口地址https://api.weixin.qq.com/datacube/getweanalys...
插屏广告插屏广告组件是由客户端原生的图片、文本、视频控件组成的,层级最高,会覆盖在普通组件上。开发者可以调用wx.createInt...
以下的平台是 Electron 目前支持的:OS X对于 OS X 系统仅有64位的二进制文档,支持的最低版本是 OS X 10.8。Windows仅支持 Wind...
对 Chrome 开发工具的贡献有很多方法可以提高你同事的开发效率。这可能是通过分享你所知道的或是用那些记录功能提供帮助或者写一...
预测是关于预测度量的未来价值。 有许多数学模型用于预测。Tableau使用已知为指数平滑的模型。在指数平滑中,最近的观察给出比旧...
布局面板控件提供用户在页面上组织UI控件。 每个布局控件从UIComponent类继承属性,继而从EventDispatcher和其他顶级类继承属性...
如果你想使用传统的后端(如 Rails, Laravel)来服务 HTML,但使用 Vite 来服务其他资源,可以查看在Awesome Vite上的已有的后端...