当Apache Pig加载/存储关系时会发生什么?

时间:2015-12-10 23:54:28

标签: hadoop apache-pig

我正在学习Apache Pig。而且我也是Hadoop的新手。所以有人可以告诉我当Pig加载/存储关系时会发生什么?更详细,例如它将调用哪些函数以及以哪种顺序?

这对我有很大帮助,谢谢:)

1 个答案:

答案 0 :(得分:1)

你不应该考虑孤立的LOAD / STORE。

当您发出一系列pig命令时,它将使用Java构建基于Map Reduce API的执行计划。它使用延迟评估,一旦遇到DUMP或STORE命令,就会提交map reduce作业。

以下是示例脚本:

department_rows = LOAD '/apps/hive/warehouse/retail_ods.db/departments' ;
department_group = GROUP department_rows ALL;
department_count = FOREACH department_group GENERATE COUNT_STAR(department_rows) as ct;
DUMP department_count;

以上查询尝试获取表格中的记录数。

  

LOAD命令将使用map reduce api从HDFS位置读取数据。数据将在Pig术语中表示为BAG。 BAG被分配到department_rows   接下来的2个语句将转换为map reduce逻辑以获取计数   DUMP将调用逻辑以在标准输出中返回最终输出。

在任何步骤中,您都可以发出EXPLAIN(例如:EXPLAIN department_count)以使用map和reduce获取解释计划。如果您是Hadoop的新手,很难理解它。你需要从HDFS的基础开始,映射reduce然后进入Pig。