gpt4 book ai didi

hadoop - pig : how to separate data by positions in a single line

转载 作者:可可西里 更新时间:2023-11-01 15:33:31 27 4
gpt4 key购买 nike

通常,如果我们在一行中有任何分隔符,我们会这样做。

load "pigtest.txt" using PigStorage(',') as (year:int,temp:float);

下面是单行数据的示例。

0029029070999991901010106004+64333+023450FM12+000599999V0202701N015919999999N0000001N9-00781+99999102001ADDGF108991999999999999999999

我需要提取年份 1901(16th position to 4positions)emperature(89th position to 4 positions)这样我就可以定义我的键和值。

我还需要修剪温度的初始零点。

提前致谢

最佳答案

是的,您可以使用 FixedWidthLoaderUDF 从输入数据中提取特定位置。下载 piggybank.jar 并尝试以下方法。

输入

0029029070999991901010106004+64333+023450FM12+000599999V0202701N015919999999N0000001N9-00781+99999102001ADDGF108991999999999999999999

PigScript:

REGISTER /tmp/piggybank.jar;
A = LOAD 'input' USING org.apache.pig.piggybank.storage.FixedWidthLoader('16-19,89-92') AS(year:int,temp:float);
DUMP A;

输出:

(1901,781.0)

引用:
http://pig.apache.org/docs/r0.13.0/api/org/apache/pig/piggybank/storage/FixedWidthLoader.html

关于hadoop - pig : how to separate data by positions in a single line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29049415/

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