首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Pig:使用hadoop fs -text加载显示正常的文件

Apache Pig:使用hadoop fs -text加载显示正常的文件
EN

Stack Overflow用户
提问于 2012-09-06 01:34:56
回答 2查看 5.2K关注 0票数 7

我的文件名为part-r-0000-9,并且包含以制表符分隔的字段。我可以使用hadoop fs -text part-r-00000查看它们,但不能使用pig加载它们。

我尝试过的:

代码语言:javascript
复制
x = load 'part-r-00000';
dump x;
x = load 'part-r-00000' using TextLoader();
dump x;

但那只会给我带来垃圾。如何使用pig查看文件?

可能相关的是,我的hdfs目前仍在使用CDH-2。此外,如果我将文件下载到本地并运行file part-r-00000,它显示为part-r-00000: data,我不知道如何在本地解压它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-06 10:20:44

根据HDFS Documentation的说法,hadoop fs -text <file>可以用于"zip和TextRecordInputStream“数据,因此您的数据可能是这些格式之一。

如果文件是压缩的,通常Hadoop会在输出到HDFS时添加扩展名,但如果缺少此扩展名,您可以尝试在本地通过unzipping/ungzipping/unbzip2ing/etc进行测试。Pig似乎应该自动进行解压,但可能需要文件扩展名存在(例如part-r-00000.zip) -- more info

我不太确定TextRecordInputStream..这听起来像是Pig的默认方法,但我可能错了。当我在谷歌上快速搜索时,我没有看到任何关于通过Pig加载这些数据的内容。

更新:既然你已经发现它是一个序列文件,下面是你如何使用PiggyBank加载它:

代码语言:javascript
复制
-- using Cloudera directory structure:
REGISTER /usr/lib/pig/contrib/piggybank/java/piggybank.jar
--REGISTER /home/hadoop/lib/pig/piggybank.jar
DEFINE SequenceFileLoader org.apache.pig.piggybank.storage.SequenceFileLoader();


-- Sample job: grab counts of tweets by day
A = LOAD 'mydir/part-r-000{00..99}' # not sure if pig likes the {00..99} syntax, but worth a shot 
    USING SequenceFileLoader AS (key:long, val:long, etc.);
票数 4
EN

Stack Overflow用户

发布于 2012-09-06 22:06:24

如果你想用Pig操作(读/写)序列文件,那么你也可以尝试一下推特的Elephant-Bird

你可以在here中找到读写它们的例子。

如果您在序列文件中使用自定义的Writable,那么您可以通过扩展AbstractWritableConverter来实现一个自定义的转换器。

请注意,Elephant-Bird需要在您的计算机上安装Thrift。在构建它之前,请确保它使用了正确的Thrift版本,并在其pom.xml中提供了Thrift可执行文件的正确路径

代码语言:javascript
复制
<plugin>
  <groupId>org.apache.thrift.tools</groupId>
  <artifactId>maven-thrift-plugin</artifactId>
  <version>0.1.10</version>
  <configuration>
    <thriftExecutable>/path_to_thrift/thrift</thriftExecutable>
  </configuration>
</plugin>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12286845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档