使用apache PIG创建空表

时间:2017-05-23 14:26:42

标签: hadoop apache-pig

是否可以在Apache Pig中创建一个空表?

根据表名,列名和列类型,可以很容易地在Apache Hive中执行相同的操作:

CREATE TABLE employees(name string, id int)
STORED AS ORC;

2 个答案:

答案 0 :(得分:1)

不.PIG中没有表格概念。离表格最近的是Relation

" Pig关系类似于关系数据库中的表,其中包中的元组对应于表中的行。然而,与关系表不同,Pig关系并不要求每个元组包含相同数量的字段,或者相同位置(列)中的字段具有相同的类型。"

答案 1 :(得分:0)

您可以做的是在项目中创建一个空文件夹,并将其与PigStorage加载器结合使用。

例如:

使用PigStorage从工作流变量data中读取数据: rel = LOAD '$data' USING PigStorage('\t');

data指向包含数据的文件时,您将获得一个非空的关系。但是,如果您指向一个空文件夹(真的是空的,也没有模式),您会发现没有代码中断,最终您将得到一个与非空相同模式的空关系。

这意味着您可以运行FOREACHFILTERJOIN等。而不会破坏Pig的代码,所有这些都是虚假的。