可以使用 PIG 读取的文件格式

2024-01-22

使用PIG可以读取哪些类型的文件格式?

如何以不同的格式存储它们?假设我们有 CSV 文件,我想将其存储为 MXL 文件,如何做到这一点?每当我们使用 STORE 命令时,它都会创建目录并将文件存储为part-m-00000 我如何更改文件名并覆盖目录?


使用PIG可以读取哪些类型的文件格式?我怎样才能以不同的格式存储它们?

有几个内置加载和存储方法 http://pig.apache.org/docs/r0.9.2/func.html#load-store-functions,但它们是有限的:

  • BinStorage - “二进制”存储
  • PigStorage - 加载和存储由某些内容(例如制表符或逗号)分隔的数据
  • TextLoader - 逐行加载数据(即由换行符分隔)

扑满 https://cwiki.apache.org/confluence/display/PIG/PiggyBank是社区贡献的用户定义函数的库,它具有多种装载和存储方式 http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/,其中包括 XML 加载器,但不包括 XML 存储器。


假设我们有 CSV 文件,我想将其存储为 MXL 文件,如何做到这一点?

我假设你在这里指的是 XML...在 Hadoop 中,在 XML 中存储有点粗糙,因为它在缩减器的基础上分割文件,那么你如何知道将根标签放在哪里呢?这可能应该是某种后处理以生成格式良好的 XML。

你可以做的一件事就是写一个UDF http://pig.apache.org/docs/r0.9.2/udf.html#eval-functions将您的列转换为 XML 字符串:

B = FOREACH A GENERATE customudfs.DataToXML(col1, col2, col3);

例如,说col1, col2, col3 are "foo", 37, "lemons", 分别。你的UDF可以输出字符串"<item><name>Foo</name><num>37</num><fruit>lemons</fruit></item>".


每当我们使用 STORE 命令时,它都会创建目录并将文件存储为part-m-00000 我如何更改文件名并覆盖目录?

您不能将输出文件的名称更改为part-m-00000。这就是 Hadoop 的工作原理。如果你想更改它的名称,你应该在事后对其进行类似的操作hadoop fs -mv output/part-m-00000 newoutput/myoutputfile。这可以通过运行 Pig 脚本然后执行此命令的 bash 脚本来完成。

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

可以使用 PIG 读取的文件格式 的相关文章

  • hive 从两个数组创建映射或键/值对

    我有两个具有相同数量值的数组 它们映射为 1 1 我需要从这两个数组创建一个键 值对或映射 键 值 任何想法或提示都会有帮助 当前表结构 USA WEST NUMBER Street City 135 Pacific Irvine USA
  • 带有安全 Kafka 抛出的 Spark 结构化流:无权访问组异常

    为了在我的项目中使用结构化流 我正在 hortonworks 2 6 3 环境上测试 Spark 2 2 0 和 Kafka 0 10 1 与 Kerberos 的集成 我正在运行下面的示例代码来检查集成 我能够在 Spark 本地模式下的
  • Hive - 线程安全的自动递增序列号生成

    我遇到一种情况 需要将记录插入到特定的 Hive 表中 其中一列需要是自动递增的序列号 即在任何时间点都必须严格遵循 max value 1 规则 记录从许多并行的 Hive 作业插入到这个特定的表中 这些作业每天 每周 每月批量运行 现在
  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • 在映射器的单个输出上运行多个减速器

    我正在使用地图缩减实现左连接功能 左侧有大约 6 亿条记录 右侧有大约 2300 万条记录 在映射器中 我使用左连接条件中使用的列来创建键 并将键值输出从映射器传递到减速器 我遇到性能问题 因为两个表中的值数量都很高的映射器键很少 例如分别
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO
  • YARN UNHEALTHY 节点

    在我们的 YARN 集群已满 80 的情况下 我们看到一些纱线节点管理器被标记为不健康 在深入研究日志后 我发现这是因为数据目录的磁盘空间已满 90 出现以下错误 2015 02 21 08 33 51 590 INFO org apach
  • 将 CSV 转换为序列文件

    我有一个 CSV 文件 我想将其转换为 SequenceFile 我最终将使用它来创建 NamedVectors 以在聚类作业中使用 我一直在使用 seqdirectory 命令尝试创建 SequenceFile 然后使用 nv 选项将该输
  • 如何从hdfs读取文件[重复]

    这个问题在这里已经有答案了 我在 project1目录下的hadoop文件系统中有一个文本文件名mr txt 我需要编写 python 代码来读取文本文件的第一行 而不将 mr txt 文件下载到本地 但我无法从 hdfs 打开 mr tx
  • 处理 oozie 工作流程中的循环

    我有一个 oozie 用例 用于检查输入数据可用性并根据数据可用性触发 MapReduce 作业 所以我编写了一个 shell 脚本来检查输入数据 并在 oozie 中为其创建了一个 ssh 操作 输入数据检查的重试次数和重试间隔应该是可配
  • 在 Windows 7 64 位中删除 Spark 临时目录时出现异常

    我正在尝试在 Windows 7 64 位中运行 Spark 作业的单元测试 我有 HADOOP HOME D winutils winutils path D winutils bin winutils exe 我运行了以下命令 winu
  • Spark 写入 hdfs 无法使用 saveAsNewAPIHadoopFile 方法

    我在 CDH 5 2 0 上使用 Spark 1 1 0 并试图确保我可以读取和写入 hdfs 我很快意识到 textFile 和 saveAsTextFile 调用旧的 api 并且似乎与我们的 hdfs 版本不兼容 def testHD
  • 无法验证 serde:org.openx.data.jsonserde.jsonserde

    我编写了这个查询来在配置单元上创建一个表 我的数据最初是 json 格式 所以我已经下载并构建了 serde 并添加了它运行所需的所有 jar 但我收到以下错误 FAILED Execution Error return code 1 fr
  • HBase、Hadoop:如何估计 HBase 表或 Hadoop 文件系统路径的大小?

    我有多个 HBase 表 如何估计在 java 中使用的表的大致大小 一种方法是你必须使用java客户端访问hdfs 通常在 hbase文件夹 所有表格信息 将在场 Hadoop 外壳 你可以检查使用hadoop fs du h path
  • 公平调度器和容量调度器有什么区别?

    我是 Hadoop 世界的新手 想了解公平调度程序和容量调度程序之间的区别 另外我们什么时候应该使用每一个 请简单地回答一下 因为我在网上读了很多东西 但从中得到的不多 公平调度是一种为作业分配资源的方法 使得所有作业随着时间的推移平均获得
  • Hadoop-reducer 如何获取数据?

    据我所知 映射器为每个减速器生成 1 个分区 减速器如何知道要复制哪个分区 假设有 2 个节点运行用于字数统计程序的映射器 并且配置了 2 个缩减器 如果每个映射节点生成 2 个分区 并且两个节点中的分区都可能包含相同的单词作为键 那么减速
  • Mapreduce shuffle 阶段出现内存不足错误

    我在运行时遇到奇怪的错误类似字数统计映射缩减程序 我有一个包含 20 个从站的 hadoop 集群 每个从站都有 4 GB RAM 我将 Map 任务配置为 300MB 堆 Reduce 任务槽为 1GB 我每个节点有 2 个映射槽和 1
  • Python 包安装:pip 与 yum,还是两者一起安装?

    我刚刚开始管理 Hadoop 集群 我们使用 Bright Cluster Manager 直至操作系统级别 CentOS 7 1 然后使用 Ambari 以及适用于 Hadoop 的 Hortonworks HDP 2 3 我不断收到安装
  • 全部配对图表上的所有路径

    这可能是一个没有最佳解决方案的问题 假设我有一个有向图 不知道它是否有循环 循环检测将是这个问题的方面之一 给定一组顶点 可能是数百万个顶点 我需要计算给定图的所有唯一对之间的所有不同路径 没有重复顶点的路径 我该如何应对这种情况 让我们看
  • ETL informatica 大数据版(非云版)可以连接到 Cloudera Impala 吗?

    我们正在尝试在 Informatica 大数据版本 不是云版本 上进行概念验证 我发现我们可能能够使用 HDFS Hive 作为源和目标 但我的问题是 Informatica 是否连接到 Cloudera Impala 如果是这样 我们是否

随机推荐

  • 哈希表可以序列化吗?

    我看到一种普遍存在的belief https blogs msdn microsoft com adam 2010 09 10 how to serialize a dictionary or hashtable in c 2009年文章
  • Android:如何在软键盘中的候选视图上制作按钮?

    我想在按钮内制作candidateView 但是 你看到日志猫 请分享代码 我的代码软键盘 java Override public View onCreateCandidatesView LayoutInflater li LayoutI
  • 包的功能列表[重复]

    这个问题在这里已经有答案了 有没有一种简单 友好的方法来列出包的所有功能 而无需下载那些巨大的 PDF 包参考 我需要这个来让我熟悉这个包 找到合适的功能等 I tried rjags但它没有达到我的预期 加载包 例如car包裹 然后使用l
  • 变量总是重置

    我正在使用表单创建类似 mastermind 的游戏 我的问题是我有一个变量 attempts 我希望它在每次用户猜测数字时增加 但它似乎总是重置为零 因此我的尝试次数将始终显示为 1 如果有帮助 这里是我正在使用的代码 black 0 w
  • 如何使用assertTrue?

    I have package com darlik test import org junit Assert public class Test public static void main String args assertTrue
  • LINQ 多对多关系:解决方案?

    到目前为止 LINQ 已经非常优雅 但是为了执行基本的 m2m 查询 它没有提供我可以立即看到的解决方案 更糟糕的是 虽然它适用于任何其他表关系 但 LINQ 没有在我的 m2m 表的类结构中提供关联 所以我可以做类似的事情 artwork
  • justify-items 如何在 display:block 元素上工作

    The MDN 文档 https developer mozilla org en US docs Web CSS justify items of justify items指出 在块级布局中 它在内联轴上对齐其包含块内的项目 现在 我认
  • 导航视图 Sencha Touch 2

    我在 Sencha Touch 2 中的 NavigationView 有问题 当我按下 后退 按钮时 我无法导航多个窗口 我使用 view push 和 view pop 进行导航 view js Ext define MyApp vie
  • 扫描目录中的所有文件并按文件类型返回计数

    我刚刚加入一家 IT 公司并开始使用 ColdFusion 我的经理希望我在 ColdFusion 中编写代码 将扫描任何目录 例如c cf 其中包含数百个文件 包括 jQuery 文件 cfm 文件等 并给出此类文件的计数 我们可以手动选
  • Android N 中的 Java 8 Stream API

    根据谷歌的介绍 http android developers blogspot de 2016 03 first preview of android n developer html 从 Android N 开始 Android API
  • 使用 MySQL 和 PHP 读取部分 json 数据

    我使用一个 CMS 它以 JSON 格式在 MySQL 中保存资源 在一张表中 与来自 MySQL 的正常数据一起 当我循环数据时 我得到一个数组 JSON 数据 但我需要在 JSON 数据中搜索XNCatnCode Trying to l
  • 果冻豆运行设备出现 Listactivity 错误(SPAN_EXCLUSIVE_EXCLUSIVE 跨度的长度不能为零)

    我的应用程序以启动画面启动 然后打开列表活动行 单击任何行将打开一个包含文本视图 两个按钮 其中一个打开无限图库 另一个打开自定义对话框 和菜单项 关于 首选项 的活动 出口 这个应用程序在姜面包上完美运行 但在运行果冻豆的 Galaxy
  • Cordova 2.0.0 中的 Phonegap 屏幕截图插件

    我已经从 github 设置了屏幕截图插件 位于此处 https github com phonegap phonegap plugins tree master Android Screenshot https github com ph
  • 计算 Graphite 中 groupByNode() 结果的百分比

    我有两组石墨系列 都是这种格式 第二组是相同的 只是它具有 x y 前缀而不是 a b a b ccc a1 hr a b ccc a2 hr a b ccc a3 hr a b ddd a1 hr a b ddd a4 hr 要按我使用的
  • 从具有 x、y 和 z 坐标的点生成网格

    Problem 从 3D 点 带有 x y 和 z 坐标 生成网格 我拥有的是 3D 空间中的点 带有 x y 和 z 坐标 您可以在图 1 中看到它 输出是图像 2 或图像 3 或图像 4 简而言之 它将是网格 如果我有网格 可以提供其材
  • 如何在Bootstrap中实现响应式、独立滚动的窗格?

    我正在开发一个网络应用程序 我希望在较大的屏幕上有两个独立的可滚动区域 左侧的主要内容区域和右侧的较小侧边栏 我已经成功地使用 CSS 实现了这样的布局absolute定位和overflow属性 请参阅这个 JSFiddle http js
  • 生成16 QAM信号

    我知道使用以下方法生成 QPSK 信号的方法 TxS round rand 1 N 2 1 QPSK symbols are transmitted symbols TxS TxS sqrt 1 round rand 1 N 2 1 上面的
  • 如何从 OptaPlanner 升级到 Timefold?

    我们将 OptaPlanner 分叉为 Timefold https timefold ai blog 2023 optaplanner fork 前一段时间 我们经常会收到这样的问题 Timefold 更改所有导入语句和依赖项 如何有效地
  • 如何获取 int (C#) 中的第一个数字?

    在 C 中 获取 int 中第一个数字的最佳方法是什么 我想出的方法是将int转为字符串 找到字符串的第一个字符 然后将其转回int int start Convert ToInt32 curr ToString Substring 0 1
  • 可以使用 PIG 读取的文件格式

    使用PIG可以读取哪些类型的文件格式 如何以不同的格式存储它们 假设我们有 CSV 文件 我想将其存储为 MXL 文件 如何做到这一点 每当我们使用 STORE 命令时 它都会创建目录并将文件存储为part m 00000 我如何更改文件名