是否可以在Apache Pig中创建一个空表?
根据表名,列名和列类型,可以很容易地在Apache Hive中执行相同的操作:
CREATE TABLE employees(name string, id int)
STORED AS ORC;
答案 0 :(得分:1)
不.PIG中没有表格概念。离表格最近的是Relation。
" Pig关系类似于关系数据库中的表,其中包中的元组对应于表中的行。然而,与关系表不同,Pig关系并不要求每个元组包含相同数量的字段,或者相同位置(列)中的字段具有相同的类型。"
答案 1 :(得分:0)
您可以做的是在项目中创建一个空文件夹,并将其与PigStorage加载器结合使用。
例如:
使用PigStorage从工作流变量data
中读取数据:
rel = LOAD '$data' USING PigStorage('\t');
当data
指向包含数据的文件时,您将获得一个非空的关系。但是,如果您指向一个空文件夹(真的是空的,也没有模式),您会发现没有代码中断,最终您将得到一个与非空相同模式的空关系。
这意味着您可以运行FOREACH
,FILTER
,JOIN
等。而不会破坏Pig的代码,所有这些都是虚假的。