gpt4 book ai didi

hadoop - pig 使用储钱 jar 处理不正确的数据

转载 作者:行者123 更新时间:2023-12-02 20:58:21 26 4
gpt4 key购买 nike

我有一个文件,其结构如下所示:

ID,名称,地址

1,"Amrit,kumar",India   
2,"Vaibhav,arora",USA
3,"Deepika,kumar",Germany

显然,如果我给pigStorage(','),三个字段将被拆分为4,数据溢出。
备择方案 :
  • 我尝试了存钱 jar ,但问题仍然存在,数据仍然溢出。请在脚本下方找到
    A11 = LOAD 'File.csv.gz' USING org.apache.pig.piggybank.storage.CSVLoader() as (column:type)
  • 我也尝试了fufutitiion替换我有35,000行,但所有行的更改都没有发生。在这种情况下,数据仍然会溢出。列值被移至下一列。请在下面的链接中找到。

    how can i ignore " (double quotes) while loading file in PIG?
  • 我也尝试了CSVEXCEL Storage和CSV loader。

  • 请建议我在这里可以做什么。我想在单个列中包含名称值。

    最佳答案

    将其加载到4个字段中,替换引号,在第二个字段之后添加一个空格,最后连接第二个和第三个字段以在一个字段/列中获取全名。不需要外部jar。

    A = LOAD 'File.csv.gz' USING PigStorage(',') AS (f1:int,f2:chararray,f3:chararray,f4:chararray);
    B = FOREACH A GENERATE
    f1,
    CONCAT(REPLACE(f2,'\\"',''),' ') as f2, -- replace beginning quote and add space at end
    REPLACE(f3,'\\"','') as f3, -- replace ending quote
    f4;
    C = FOREACH B GENERATE
    f1 as id,
    CONCAT(f2,f3) as name,
    f4 as country;
    DUMP C;

    关于hadoop - pig 使用储钱 jar 处理不正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886247/

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