最近使用hadoop实现kmeans的时候数据格式老是不对,上网查了一下,网上大部分都说数字之间用空格隔开
上网查了一下,有说数字太大的,还有的说超出int范围了,关于这类错误比较少,所以就总结一下。其实是每一行两个数字之间的空白太多了,每一行两个数字之间只有一个空格,我使用的kmeans jar包是mahout里面的,如果查看kmeans源码就知道每一行两个数字之间只有一个空格。因此我使用正则表达式将每一行的多个空格替换成一个空格,代码如下
这么处理后就能正常运行了,我的部分原始数据长这样
最近使用hadoop实现kmeans的时候数据格式老是不对,上网查了一下,网上大部分都说数字之间用空格隔开
上网查了一下,有说数字太大的,还有的说超出int范围了,关于这类错误比较少,所以就总结一下。其实是每一行两个数字之间的空白太多了,每一行两个数字之间只有一个空格,我使用的kmeans jar包是mahout里面的,如果查看kmeans源码就知道每一行两个数字之间只有一个空格。因此我使用正则表达式将每一行的多个空格替换成一个空格,代码如下
这么处理后就能正常运行了,我的部分原始数据长这样