0

如果我们有这样的目录结构:

/hdfs/foo
/hdfs/foo/foo1
/hdfs/foo/foo2

orc 文件位于 foo1 和 foo2 中。可以想象 foo 下可能有任意数量的子目录。(它们是分区文件)。

如何将子目录中的所有文件加载到关系中?

我试过了:

relation = LOAD '/hdfs/foo' USING OrcStorage();

这不会给我一个错误,但是该关系没有它应该包含的大部分数据。我真的不明白这实际上在做什么。

relation = LOAD '/hdfs/foo*' using OrcStorage();

这让我找不到文件异常。

relation = LOAD '/hdfs/foo/*' using OrcStorage();

这也让我找不到文件异常。

我究竟做错了什么?

4

2 回答 2

0

Pig 不允许加载 globbing(官方文档)。

我们必须使用一些脚本或创建手册来做到这一点。

你必须使用 OrcStorage();

于 2016-09-24T00:39:03.417 回答
0

我怀疑它与 OrcStorage() 的问题,我尝试使用 PigStorage() 它为我工作..

于 2016-09-26T05:05:40.660 回答