Bulkload在处理减速器时失败,错误如下。我们正在M5集群上运行mapreduce,试图更新m7表。
java.io.IOException: bulkLoaderClose() on '/home/test/account122' failed
with error: Function not implemented (38).
at com.mapr.fs.Inode.checkError(Inode.java:1611)
at com.mapr.fs.Inode.checkError(Inode.java:1583)
at com.mapr.fs.Inode.bulkLoaderClose(Inode.java:1278)
at com.mapr.fs.MapRHTable.bulkLoaderClose(MapRHTable.java:119)
at com.mapr.fs.hbase.BulkLoadRecordWriter.close(BulkLoadRecordWriter.java:160)
at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:621)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:458)
at org.apache.hadoop.mapred.Child$4.run(Child.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1566) at org.apache.hadoop.mapred.Child.main(Child.java:267)
hbase版本为0.98.12-2006年4月。
Mapr Db表已启用以进行批量加载。Reducers处理所有数据,在批量加载时,它会失败一些。
请帮忙。
您用于批量加载的实用程序是什么?您可以使用ImportTsv将大容量加载到MapR数据库表中。
我测试了下面的数据文件和导入。请尝试这是否适用于您的集群。
1) 将以下数据添加到集群中的mfs。将其替换为您的路径/mapr/demo.mapr.com/home/datafile.csv:2014,1,1,1,32014-01-01,AA,N338AA,1,JFK,LAX,0914,14.001238,13.00,0.00,385.00359.002475.00,,,,,,2014,1,1,2,42014-01-02,AA,N338AA,1,JFK,LAX,0857,-3.001226,1.00,0.00,385.00340.002475.00,,,
export CF="cf1"
2) maprcli表删除-路径/home/test/account1223) maprcli表创建-path/home/test/account1223) maprcli表cf create-path/home/test/account122-cfname$cf
运行导入作业
4) java-cp hbase classpath
org.apache.hadop.hbase.mapreduce.ImportTsv\-Dimporttsv.separator=\-Dimporttsv.columns=$CF:年,$CF:qtr,$CF:月,$CF:dom,$CF.dow,HBASE_ROW_KEY,$CF:carrier,$CF:tailnum,$CF:flightnumber,$CF:iorigin,$CF/dest,$CF:pdeptime,$CF.dedelay,$CF:arrtime,$CF:arrdelay,$CF:cncl,$CF=cnclcode,$CF/elatime,$CF:airtime,$CF:距离,$CF:Carrerderlay,$CF:nastdelay,$SF:securitydelay,$CF:飞机延误,$CF:假人\/主页/测试/帐户122\/mapr/demo.mapr.com/home/datafile.csv
默认情况下,MaprdDb表不支持BulkLoading。错误Function not implemented(38)表示不支持此功能。