通过从源 CSV 复制和修改现有记录多次来创建新的 CSV

Posted

技术标签:

【中文标题】通过从源 CSV 复制和修改现有记录多次来创建新的 CSV【英文标题】:creating new CSV by duplicating and modifying existing records multiple times from the source CSV 【发布时间】:2016-06-09 13:51:16 【问题描述】:

我是大数据方面的新手,我有一个作业,其中给了我一个 CSV 文件,日期字段是该文件中的字段之一。文件大小只有 10GB,但我需要创建一个更大的文件,大小为 2TB,用于大数据实践目的,通过复制文件的内容但增加日期以使复制的记录与原始记录不同。然后通过 Hive 访问新的 2TB 文件。需要帮助我想如何以最好的方式实现这一点?在hadoop或python中使用pig最好吗?

【问题讨论】:

【参考方案1】:

这实际上取决于您想要实现什么以及您使用什么硬件。

如果您需要快速处理此文件并且您实际上拥有真正的 Hadoop 集群(大于 1 或 2 个节点),那么最好的方法可能是编写 Pig 脚本甚至是简单的 Hadoop MapReduce处理此文件的作业。使用这种方法,您将在 HDFS 上获得输出文件,因此可以通过 Hive 轻松访问它。

另一方面,如果您有单台计算机或一些“玩具”Hadoop 集群,使用 Hadoop 处理该文件将比简单地在该文件上执行 python 脚本花费更长的时间。这是因为 Hadoop 处理在数据序列化和通过网络发送数据方面有相当大的开销。当然,在这种情况下,您将不得不处理输入和输出文件可能不适合您自己的 RAM 的事实。

【讨论】:

以上是关于通过从源 CSV 复制和修改现有记录多次来创建新的 CSV的主要内容,如果未能解决你的问题,请参考以下文章

PySpark 通过从十进制列中删除比例来写入 csv

Spark创建或替换临时视图不多次更新现有表

通过从 csv 获取数据在 C# 中创建 json 数组

通过 FTP 将表复制到 CSV 文件 [重复]

scala过滤操作过滤CSV文件

PLSQL程序通过从表中获取记录来添加数字[关闭]