【问题标题】:How can hadoop mapreduce get data input from CSV file?hadoop mapreduce如何从CSV文件中获取数据输入?
【发布时间】:2015-04-28 14:47:57
【问题描述】:

我想实现 hadoop mapreduce,我使用 csv 文件作为它的输入。所以,我想问一下,有没有hadoop提供的方法来获取csv文件的值,或者我们只是用Java Split String函数来做?

谢谢大家.....

【问题讨论】:

    标签: csv hadoop input split mapreduce


    【解决方案1】:

    默认情况下,Hadoop 使用文本输入阅读器,从输入文件逐行输入映射器。映射器中的关键是读取的行数。不过要小心 CSV 文件,因为单个列/字段可以包含换行符。您可能想寻找像这样的 CSV 输入阅读器:

    https://github.com/mvallebr/CSVInputFormat/blob/master/src/main/java/org/apache/hadoop/mapreduce/lib/input/CSVNLineInputFormat.java

    但是,您必须在代码中拆分行。

    【讨论】:

    • 你的意思是在一个字段上可以有一个折线,对吧?但是如果我使用的是 CSV 输入阅读器,问题就可以解决了吗?
    • 你的意思是在一个字段上可以有一个折线,对吧?但是如果我使用的是 CSV 输入阅读器,这个问题可以解决吗?以及如何使用来自 hadoop Driver 类的此类 CSV 输入?
    • 有时列值中可能包含换行符、回车符等类型的字符。要使用 CSV 格式,只需在驱动类中使用 setInputFormatClass 函数即可。
    猜你喜欢
    • 2012-12-13
    • 2013-08-08
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多