假设我有一些具有未知数目的子节点的XML数据。有没有一种方法可以让我将子节点的数量作为参数输入到程序中,并对其进行处理?当前代码是这样的
SourceXML = LOAD '$input' using org.apache.pig.piggybank.storage.XMLLoader('$TopNode') as test:chararray;
test2 = LIMIT SourceXML 3;
test3 = FOREACH test2 GENERATE REGEX_EXTRACT(test,'<$tag1>(.*)</$tag1>',1),
REGEX_EXTRACT(test,'<$tag2>(.*)</$tag2>',1);
dump test3;
但是我可能事先不知道目标数据中有多少个简单元素(有多少个$ tag#)。我希望使用一个包含如下所示参数的.txt文件:
input=/inputpath/lowerlevelsofpath
numberSimpleElements=3
tag1=tag1name
tag2=tag2name
tag3=tag3name
通过对输入文件中的每个标签进行regex_extract
关于如何实现此目标的任何想法?
最佳答案
你可以做以下
关于hadoop - 根据输入数字生成不同数量的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19098406/