【问题标题】:pig latin - load with text qualifierpig latin - 使用文本限定符加载
【发布时间】:2014-11-11 12:08:51
【问题描述】:

我正在尝试在猪拉丁语脚本中加载数据文件, 数据有 2 列,但在第 2 列中有一个文本限定符,示例数据如下:

DEVICE_ID,SUPPORTED_TECH
a2334,"GSM900,GSM1500,GSM200"
a54623,"GSM900,GSM1500"
a86646,"GSM1500,GSM200"

当我尝试加载如下日期时,第 2 列不被识别为 1 列

deviceList = load 'deviceList.csv' Using PigStorage(',') as (DEVICE_ID:chararray, SUPPORTED_TECH:chararray );

如何在加载数据集时定义文本限定符?

【问题讨论】:

  • 你的预期输出是什么?

标签: text load apache-pig qualifiers


【解决方案1】:

试试这个,如果你需要不同的输出格式,请告诉我

input.txt

DEVICE_ID,SUPPORTED_TECH
a2334,"GSM900,GSM1500,GSM200"
a54623,"GSM900,GSM1500"
a86646,"GSM1500,GSM200

PigScript:

A = LOAD 'input.txt' AS line;
deviceList = FOREACH A GENERATE FLATTEN(REGEX_EXTRACT_ALL(line,'^(\\w+),(.*)$')) as (DEVICE_ID:chararray, SUPPORTED_TECH:chararray );
DUMP deviceList;

输出:

(DEVICE_ID,SUPPORTED_TECH)
(a2334,"GSM900,GSM1500,GSM200")
(a54623,"GSM900,GSM1500")
(a86646,"GSM1500,GSM200")

【讨论】:

  • thnx 这个答案适用于 2 列,但我的原始文件有 625 列,您可以在不定义每一列的情况下推荐任何内容吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-05
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
相关资源
最近更新 更多