如果我们有这样的目录结构:
/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();
这也给我一个文件找不到异常。
我做错什么了?
2条答案
按热度按时间yx2lnoni1#
我怀疑orcstorage()有问题,我试过pigstorage(),它对我有用。。
gt0wga4j2#
清管器不允许在装载过程中使用globbing(官方文件)。
我们必须使用一些脚本或手动创建。
必须使用orcstorage()执行relation=load'/hdfs{/foo/file/foo/foo/file…';