在 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 文件的主要内容,如果未能解决你的问题,请参考以下文章