【问题标题】:how to load a file into pig with multiple delimiter?如何使用多个分隔符将文件加载到猪中?
【发布时间】:2017-08-27 20:25:22
【问题描述】:

我有以下文件tax_cal 我想在猪中加载:

101,5|2;3|2

102,3|1;4.5|2;4|1

103,2|1;5|2;5.6|3

输出:

101,5|2,3|2

102,3|1,4.5|2,4|1

103,2|1,5|2,5.6|3

此外,我会将这个输出文件传递给 python UDF 以计算总价格。

我怎样才能做到这一点?

【问题讨论】:

  • 你能添加文件的第一行,你需要使用 pig 加载吗
  • 抱歉没听明白?

标签: python apache-pig hadoop-streaming


【解决方案1】:

所以 pig 的基本加载命令如下,但我不确定您的文件示例数据类型。试着看看下面这个,看看你是否可以按照你需要的方式修改它。

    A = LOAD '(your_file_name)' USING PigStorage(',') AS (bill_number:INT, tax:chararray); 

【讨论】:

  • 不这样做只会在'|'之后给我价值,我得到以下输出:(,2;3) (,2;4) (,2;2.5) 我不知道如何分隔这个文件:(
  • 好吧,我不明白你的文本文件,请张贴你的文本文件的前 5 行
  • 嗨,这是我要加载的文件来解释它,第一列是账单编号:int,第二列是包含 tax_details 的数组。例如 5|2 其中 5 id 价格和 2 是税。我必须在 pig 中加载这个文件,然后通过 UDF 来计算总价。
  • 是用制表符还是逗号分隔
  • 假设它的逗号分隔我将编辑我的上述答案,用于账单编号和税金
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-24
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
相关资源
最近更新 更多