在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

Posted

技术标签:

【中文标题】在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?【英文标题】:In pig while using Load data flow step what is difference with using (Using PigStorage) and with out using it?在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有什么区别? 【发布时间】:2012-11-24 16:58:28 【问题描述】:

在 pig 中使用 Load data flow 步骤与使用 (Using PigStorage) 和不使用它有什么区别?

想知道以下步骤之间的区别。

movie2 = load 'movie/part-m-00000' as (mid:int, mname:chararray, myr:int);

movie2 = load 'movie/part-m-00000' using PigStorage(',') as (mid:int, mname:chararray, myr:int);

【问题讨论】:

【参考方案1】:

默认使用 PigStorage,这是一个文本文件,其中的字段由分隔符分隔,制表符作为分隔符。

指定 using PigStorage(',') 会将分隔符更改为逗号。

【讨论】:

【参考方案2】:

加上rsp的回答,使用PigStorage有两个好处

    指定文件分隔符的选项

    是否加载输入架构的选项。

更多详情:http://pig.apache.org/docs/r0.10.0/api/org/apache/pig/builtin/PigStorage.html

【讨论】:

以上是关于在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用不同的 PigStorage 运算符将数据加载到猪中

在猪中增加映射器

从 HDFS 加载数据不适用于 Elephantbird

无法在猪中打开别名的迭代器

在猪中找到原子的长度

猪中的 ToDate 函数