我有这样的目录结构:
/topLevel
|
-A
|
-B
|
...
目录(a、b等)的名称。。不是静态的。它们可能会随着时间的推移而改变)。
我知道我可以在load函数中使用glob来加载toplevel下的所有文件:
load ('/topLevel/*')
我有一个要求,使用相同的子目录名下的顶级存储结果。对于以上内容,我想存储到:
/results
|
-A_results
|
-B_results
|
...
这是不可能的,但我想这样做:
store ('/results/*_results')
要匹配加载全局。。。
在pig下,如何获取loadglob中的子目录的名称并在store中使用它?
1条答案
按热度按时间dzhpxtsq1#
你不能这样做。一旦你加载了里面的所有数据
topLevel
在pig别名中,原始文件名的所有内存都将丢失。pig中只有一个别名,因此输出将位于一个目录中。如果您想这样做,我建议您使用参数替换,然后使用bash脚本多次运行pig脚本,每个输入目录一次。比如:
其中
myScript.pig
是