在 Pig 中将输出存储到 CSV 文件

Posted

技术标签:

【中文标题】在 Pig 中将输出存储到 CSV 文件【英文标题】:Storing output to CSV file in Pig 【发布时间】:2018-05-28 15:16:44 【问题描述】:

在尝试将输出存储到 Pig 中的 CSV 文件时,该命令成功运行,但在目标位置而不是文件名中创建了一个新文件夹。

你能帮帮我吗?

这是我使用的命令

将 A 存储到 '/home/cloudera/Downloads/res.csv';

【问题讨论】:

【参考方案1】:

STORE 命令将输出写入 hdfs,并根据 reducer 的数量,将最终结果写入文件,该文件等于使用的 reducer 总数。如果要将结果写入单个 csv 文件,您必须合并它,写入本地系统,然后将其复制回您选择的位置。

您可以在 Pig 脚本中使用 hadoop 命令。

fs -getmerge /home/cloudera/Downloads/* /your/local/dir/res.csv
fs -copyFromLocal /your/local/dir/res.csv /home/cloudera/Downloads

或者

fs -cat /home/cloudera/Downloads/* | fs -put - /home/cloudera/Downloads/res.csv

【讨论】:

谢谢 vk.. 但是当我尝试在 grunt 提示符中使用 getmeege 时.. 出现 fs.defaultFS 未设置的错误。你能帮我解决这个问题吗

以上是关于在 Pig 中将输出存储到 CSV 文件的主要内容,如果未能解决你的问题,请参考以下文章

在单个实例中将 pig 输出存储到 Hive 表中

将猪输出存储到 csv 文件中

如何将猪输出存储到蜂巢表?

在C#中将CSV文件导出到DataGridview

在 Weka 中将分类预测输出到 CSV——输出文件保存在哪里?

csv 在 pig 中读取,csv 文件包含带引号的逗号