scala - hdfs文件中的数据清理要求
问题描述
我有一个如下所示的 CSV 文件,我需要在 hadoop 中应用数据清理技术。该文件包含数十万条记录,但为方便起见,我只给出了 4 条记录。
field1,field2,field3,field4
1,abc,def,ghi
4,ijk,
,lmn
5,,opq,rst
8,
uvw,,xyz
10,hjg,jsh,nbm
我希望输出结果为
field1,field2,field3,field4
1,abc,def,ghi
4,ijk,,lmn
5,,opq,rst
8,uvw,,xyz
10,hjg,jsh,nbm
我是hadoop的新手。在 Hadoop 中最好、最简单、最优化的方法是什么?在 Hive 中可行吗?
一旦实现这一点,如果有任何特殊字符,我需要用空格替换它们。
解决方案
为什么你的记录在不同的行是这样的?4,ijk, ,lm
我能想到的(如果你很了解 scala)是,
在 CSV 文件之上创建一个平面图。以逗号分隔
For 循环 - 将数据移动到 4 个元素的数组中,
到达第 4 行后,立即前往下一行
推荐阅读
- c++ - 为什么我在以下代码中会出现堆栈溢出?
- c# - 从 XAML 到 C# 的 WPF 故事板
- flutter - 断言失败:第 854 行 pos 14:'file != null':不正确
- node.js - NodeJS API 如何通过 JDBC 连接到受 kerberos 保护的资源
- git - 拉后如何正确删除合并提交?(处理分离的 HEAD)
- node.js - Webpack handlebars-loader 模板文件在 mocha 单元测试中无法解析
- angular - 是否可以覆盖@Component.providers 中的默认对话框选项?
- javascript - 经过文件值到个人
- javascript - 如何在两个不总是矩形的元素之间画一条线(路径,svg)
- php - jQuery Ajax 调用在服务器上出现内部服务器错误,但在 Localhost 上有效