如何处理Map Reduce Hadoop的多行CSV输入文件?

时间:2015-06-14 21:42:21

标签: java csv hadoop mapreduce recordreader

我有CSV输入数据文件,其中有几条记录。每个记录由任意数量的行组成。 (1行,2行,5行或任何)。有一点可以肯定的是,每条记录有24个字段,由" ::"分隔。 每条记录都以新行开头,但每一条新行都不是新记录。

默认记录阅读器因此问题失败,因为每个新行都不是新记录。

**如何处理输入拆分。有可能记录3行,1行在一个块中,另外2个在其他块中?

在将记录作为输入提供给地图方法之前,我应该如何区分记录?**

我认为它与inputformat和record-reader有关。任何建议和帮助都非常感谢。

以下是示例数据:

REVIEW_ID ::文字:: business_id :: full_address ::学校::经度:: average_stars ::日期:: USER_ID ::打开::类别:: PHOTO_URL ::城市:: REVIEW_COUNT ::名::街区: :URL :: votes.cool :: votes.funny ::状态::分::纬度::类型:: votes.useful

NaN :: NaN :: NaN :: NaN :: NaN :: NaN :: 3.5 :: NaN :: cxInT2YC-tuyGwKpEKAuEw :: NaN :: NaN :: NaN :: NaN :: 8 :: Jane A. ::的NaN :: http://www.yelp.com/user_details?userid=cxInT2YC-tuyGwKpEKAuEw::2::1::NaN::NaN::NaN::user::5

NaN :: NaN :: NaN :: NaN :: NaN :: NaN :: 3.0 :: NaN :: OfAuGRtKoUmwEujBoD1mfw :: NaN :: NaN :: NaN :: NaN :: 4 :: Amy B。::为NaN :: http://www.yelp.com/user_details?userid=OfAuGRtKoUmwEujBoD1mfw::1::1::NaN::NaN::NaN::user::6

fu7TcxnAOdnbdLcyFhMmZg ::太棒了!好的,所以这个地方显然不是素食主义者,因为他们有一堆奶酪和鸡蛋,但我看到他们确实提供了大量的素食替代品。

我有点怀疑在这里,因为价格非常高,我觉得 无论如何,他们自制的辣酱是令人惊叹的。我吃了本尼迪克蛋的晚餐,J拿了煎蛋卷。两者都非常好。我很喜欢他们的家乡..但下次我来这里,我想要洋葱圈或薯条。那些洋葱圈看起来很棒。

最后,食物来得相对较快。

不是该服务的粉丝。他们试图让我们坐在面对炉子的这个边缘,没有问,所以我要求一个摊位。然后在展位上,服务器并没有很好地补充水分,但是并不是一点也不好地强调我们是否想要他们的5-7美元甜点。 6.51美元,实际上是一块馅饼? Veggie Galaxy,你是我的朋友!

但是很棒的食物! (特别好吃!):: qw5gR8vW7mSOK4VROSwdMA :: NaN :: NaN :: NaN :: NaN :: 2011-11-12 :: Z_WAxc4RUpKp3y12BH1bEg :: NaN :: NaN :: NaN :: NaN :: NaN :: NaN ::为NaN ::的NaN :: 0 :: 1 ::的NaN :: 4 ::的NaN ::审查:: 0

85TbS2RT5f6kqZ5l7_jfRw ::好地方!

我不得不说菜单和户外座位让我们回来了。食物很好 - 两次吃早餐,但有些朋友吃午餐。绝对是一个很棒的选择。我们一直处于非高峰时段,所以没有等待和更好的服务。

总而言之,它没有DZ Akins,但绝对值得一试!:: - tphABJRkegXV4Fr1ke4FQ :: NaN :: NaN :: NaN :: NaN :: 2010-09-19 :: 1IzWxAfxuHTnzKOupUOB5Q :: NaN的::的NaN ::的NaN ::的NaN ::的NaN ::的NaN ::的NaN ::的NaN :: 0 :: 0 ::的NaN :: 4 ::的NaN ::审查:: 0

0 个答案:

没有答案