Hello:
        Custom partitioner function in Hive is not mentioned in the Hive
home page.
        Yet, according to the HBaseBulkLoad(
https://cwiki.apache.org/confluence/display/Hive/HBaseBulkLoad), custom
partitioner function can be supported by using the following parameters:
                         set
hive.mapred.partitioner=org.apache.hadoop.mapred.lib.TotalOrderPartitioner;
                         set total.order.partitioner.natural.order=false;
                         set
total.order.partitioner.path='/app/ecom/cm/cm_ctr_data/wuliang/range_key.lst';
        However, I always get the following error information:
java.lang.IllegalArgumentException: Can't read partitions file at
org.apache.hadoop.mapred.lib.TotalOrderPartitioner.configure(TotalOrderPartitioner.java:91)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:58)
at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:83)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.(MapTask.java:543) at
org.apache.hadoop.mapred.MapTask.run(MapTask.java:317) at
org.apache.hadoop.mapred.Child.main(Child.java:199) Caused by:
java.io.FileNotFoundException: File does not exist:
'/app/ecom/cm/cm_ctr_data/wuliang/partition.lst' at
org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:474)
at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:704) at
org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1521) at
org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1516) at
org.apache.hadoop.mapred.lib.TotalOrderPartitioner.readPartitions(TotalOrderPartitioner.java:213)
at
org.apache.hadoop.mapred.lib.TotalOrderPartitioner.configure(TotalOrderPartitioner.java:70)
... 5 more
        And I'm pretty sure  that the partition file exists in the HDFS.
        This problem has been mentioned a log in the mail list and it is
still open.
        Is there any solution to this problem?
        Any help greatly appreciated since I spent the day looking through
TotalOrderPartitioner and can't find what I'm doing wrong.

Thanks!

Reply via email to