gpt4 book ai didi

hadoop - 如果是,则在 pig 中输入文件名

转载 作者:行者123 更新时间:2023-12-02 21:27:40 25 4
gpt4 key购买 nike

我正在解析多个文件。
是否可以基于输入文件名对关系执行不同的操作。

以下是详细信息:-

file1.txt

IDENT NUM

AB     1010123232

BC 1023200023

file2.txt

IDENT NUM
ef     1010123232

gh 1023200023

预期输出
file1.txt

AB 10101

BC 10232

file2.txt

ef 101

gh 102

ABC.pig
A= load '$input' using PigStorage();

B= foreach A generate ($fname=='file1' ? SUBSTRING(A.NUM,0,5) : ($fname=='file2' ? SUBSTRING(A.NUM,0,3): A.NUM);

但是它给执行带来了错误

错误:模式中不存在fname

请提出实现此目标的任何方法。

最佳答案

我建议使用shell命令从$ input变量中提取fname。

伪代码:

%declare fname  `use shell commands to extract filename from input`;

A = LOAD '$input' USING PigStorage();

B= FOREACH A GENERATE ($fname=='file1' ? SUBSTRING(A.NUM,0,5) : ($fname=='file2' ? SUBSTRING(A.NUM,0,3): A.NUM);

关于hadoop - 如果是,则在 pig 中输入文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com