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

2023-11-26

我有名为 part-r-000[0-9][0-9] 的文件,其中包含制表符分隔的字段。我可以使用查看它们hadoop fs -text part-r-00000但无法使用 Pig 加载它们。

我尝试过的:

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,我不知道如何在本地解压。


根据HDFS文档, hadoop fs -text <file>可用于“zip 和 TextRecordInputStream”数据,因此您的数据可能采用这些格式之一。

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

我对 TextRecordInputStream 不太确定..听起来这只是 Pig 的默认方法,但我可能是错的。当我快速谷歌一下时,我没有看到任何提到通过 Pig 加载这些数据。

Update:既然您已经发现它是一个序列文件,那么您可以通过以下方式使用 PiggyBank 加载它:

-- 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.);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • PIL 的 Image.show() 带来*两个*不同的查看器

    在 python shell 中处理图像时 我使用 image show 其中 image 是 Image 的实例 很久以前什么也没发生 但在定义了一个名为 xv 的 Mirage 符号链接后 我很高兴 最近几天 show 将显示 Imag
  • 我想在 Red Hat Linux 服务器中执行 .ps1 powershell 脚本

    我有一个在窗口中执行的 ps1 powershell 脚本 但我的整个数据都在 Linux 服务器中 有什么可能的方法可以让我在红帽服务器中执行 powershell 脚本 powershell脚本是 Clear Host path D D
  • 将数据从 .txt 文件加载到 Hive 中以 ORC 形式存储的表

    我有一个数据文件位于 txt格式 我正在使用该文件将数据加载到 Hive 表中 当我将文件加载到类似表中时 CREATE TABLE test details txt visit id INT store id SMALLINT STORE
  • Linux 内核使用的设备树文件 (dtb) 可视化工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以图形化表示Linux内核中使用的硬件设备树的工具 我正在尝试了解特定 Arm 芯片组
  • MapReduce 中的分区到底是如何工作的?

    我认为我总体上对 MapReduce 编程模型有一定的了解 但即使在阅读了原始论文和其他一些来源之后 我仍然不清楚许多细节 特别是关于中间结果的分区 我将快速总结到目前为止我对 MapReduce 的理解 我们有一个可能非常大的输入数据集
  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 使用 libusb 输出不正确

    我用libusb编写了一个程序 我怀疑输出是否正确 因为所有条目都显示相同的供应商和产品 ID 以下是代码 include
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐

  • Java 中覆盖成员变量(变量隐藏)

    我正在研究 Java 中的重写成员函数 并考虑尝试重写成员变量 所以 我定义了类 public class A public int intVal 1 public void identifyClass System out println
  • 如何让 Active Admin 在登录后与 Pundit 合作

    我已将配置专家适配器授权添加到我的应用程序中 config authorization adapter ActiveAdmin PunditAdapter 当我登录时 电子邮件受保护 凭据我收到此错误 Pundit NotDefinedEr
  • 将 MySQL 连接到 MATLAB?

    我想知道如何将 MySQL 数据库连接到 MATLAB 软件 我下载了 jdbc 连接器 但不知道如何指定路径 我假设您已经创建了一个名为 mybase 的数据库 并且使用没有密码的 root 用户 在现实生活中不要这样做 您必须记住将 m
  • 获取 HTML 页面中带有“position:fixed”的所有元素?

    这样做的原因 我正在调试网页的 css 出现了一些元素 但它们不应该出现 我怀疑这是元素定位的问题 因此我想找到这些定位的元素并一一检查 这个使用的是 jQuery 我希望你能找到它 var find filter function ret
  • 我可以使用 Serilog 记录到单独的文件吗?

    我的 ASP NET Core 2 1 应用程序将所有 常用内容 记录到 Serilog 文件接收器 即与应用程序相关的内容 例如调试 监控 性能等 但是 我们还需要将其他数据记录到单独的文件中 与应用程序无关 但与客户相关 这种东西应该进
  • 使用 gsub 在 data.table 中添加新列

    抱歉 这是一个非常基本的问题 解决方案必须非常简单 但我找不到它 尝试使用 gsub 在 data table 中添加新列 我收到警告 参数 replacement 的长度 gt 1 并且仅使用第一个元素 并且所有 data table 行
  • 将关键字添加到 Notepad++ 的 Ruby 语法突出显示中

    我正在尝试添加require and include作为 Notepad 的 Ruby 关键字 但我遇到了一些麻烦 我修改了 langs model xml 文件的 ruby 语言标签 如下所示
  • .NET Core Web API 部署到 Azure 后无法正常工作

    我有一个简单的 NET Core Web API 应用程序 创建新项目时由 Visual Studio 创建的应用程序 我想通过 FTP 将其部署到 Azure 应用服务 作为 Team Foundation Server TFS 2017
  • char 数组作为放置 new 的存储

    以下合法的 C 是否具有明确的行为 class my class int main char storage sizeof my class new void storage my class 或者这是因为指针转换 对齐考虑而出现问题 是的
  • os.path.dirname(__file__) 返回空

    我想获取执行 py 文件的当前目录的路径 例如一个简单的文件D test py与代码 import os print os getcwd print os path basename file print os path abspath f
  • 如何使用 python 建立 TLS 连接?

    我想创建到服务器的 TLS 连接 然后 我想发送一些加密的数据到服务器 我知道主机名和端口并且有证书 令人惊讶的是 我还收到了服务器的私钥 但是 我认为我收到私钥是不正常的 第一个问题那我真的需要私钥来建立 TLS 连接吗 顺便说一句 我正
  • UTL_FILE.FOPEN() 过程不接受目录路径?

    我正在尝试写入存储在 c 驱动器中名为 vin1 txt 的文件 并收到此错误 请提出建议 gt ERROR at line 1 ORA 29280 invalid gt directory path ORA 06512 at gt SYS
  • 准备好的语句已经存在

    我正在尝试将 ruby 中的准备好的语句与 pg gem 一起使用 这就是我的声明的样子 conn prepare insert values insert into objectName headerStr values prep val
  • 在 C 中将指针传递给只读函数

    正如标题所说 我可以将指针传递给函数 使其只是指针内容的副本吗 我必须确保该功能不会编辑内容 非常感谢 Yes void function int const ptr int i ptr i wrong expression will ge
  • Android 中如何给图片添加圆角?

    我想将加载的图像更改为圆角 您知道什么提示 教程 最佳实践吗 为了获得更受控制的方法 绘制一个圆角矩形并使用绘画的 porter duff Xfer 模式将其遮罩到图像上 首先设置 Xfer 绘制和圆角位图 Bitmap myCoolBit
  • Java Swing 中的自动完成文本框

    有没有现成的Java Swing组件可以用来实现自动完成文本框 这是一个没有下拉选择的自动完成示例 仅当找到唯一匹配项时 它才会自动为您完成 完成内容会自动插入到文本字段中并被选中 有点类似于 Safari 地址字段的工作方式 该解决方案可
  • 将值与 null 进行比较。为什么这是真的?

    Why is isTRUE NULL 2 1 FALSE 我如何收到 TRUE 在我的实际情况中 我有变量 如果值不同 我想处理一些东西 然而 当一个值为 NULL 时 我不认为它们是不同的 正如 Roland 指出的 我们不能直接执行任何
  • 如何以“0000012”的格式显示数字“12”

    如何使用C 以 0000012 的格式显示数字 12 var str string Format 0 d7 12
  • 按下时查看按下时查看:按下时更改背景颜色?如何显示视图正在被按下?

    目前 我有一个带有 9 块图像作为边框的自定义视图 该自定义视图在 LinearLayout 中放置了三次 因此它看起来像这样 CustomView CustomView CustomView 我已将单击事件侦听器附加到视图 因此它是可单击
  • Apache Pig:使用 hadoop fs -text 加载显示正常的文件

    我有名为 part r 000 0 9 0 9 的文件 其中包含制表符分隔的字段 我可以使用查看它们hadoop fs text part r 00000但无法使用 Pig 加载它们 我尝试过的 x load part r 00000 du