[
https://issues.apache.org/jira/browse/HIVE-11757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
apachehadoop updated HIVE-11757:
--------------------------------
Description:
JAVA CODE AS :
// 分配可以到多个reduce
public int findPartition(K key, V value) {
int len = splitPoints.length;
for (int i = 0; i < len; i++) {
HiveKey hivekey = (HiveKey)key;
String keystring = new String(hivekey.getBytes());
LOG.info("HiveKey string ====> " + keystring);
LOG.info("splitPoints int ====> " + splitPoints[i]);
//IntWritable keyInt = new IntWritable(Integer.parseInt(keystring));
//int res =
((IntWritable)key).compareTo((IntWritable)splitPoints[i]);
//int res = keyInt.compareTo((IntWritable)splitPoints[i]);
int res = 0;
//int res =
((IntWritable)key).compareTo((IntWritable)splitPoints[i]);
if (res > 0 && i < len - 1) {
continue;
} else if (res <= 0) {
return i;
} else if (res > 0 && i == len - 1) {
return i + 1;
}
}
return 0;
}
As above,I can not get the value of key ,please help me ,friends.....
was:
JAVA CODE AS :
// 分配可以到多个reduce
public int findPartition(K key, V value) {
int len = splitPoints.length;
for (int i = 0; i < len; i++) {
HiveKey hivekey = (HiveKey)key;
String keystring = new String(hivekey.getBytes());
LOG.info("HiveKey string ====> " + keystring);
LOG.info("splitPoints int ====> " + splitPoints[i]);
//IntWritable keyInt = new IntWritable(Integer.parseInt(keystring));
//int res =
((IntWritable)key).compareTo((IntWritable)splitPoints[i]);
//int res = keyInt.compareTo((IntWritable)splitPoints[i]);
int res = 0;
//int res =
((IntWritable)key).compareTo((IntWritable)splitPoints[i]);
if (res > 0 && i < len - 1) {
continue;
} else if (res <= 0) {
return i;
} else if (res > 0 && i == len - 1) {
return i + 1;
}
}
return 0;
}
As above,I can not get the value of key ,please help me ,friends.....
> I want to get the value of HiveKey in my custom partitioner
> -----------------------------------------------------------
>
> Key: HIVE-11757
> URL: https://issues.apache.org/jira/browse/HIVE-11757
> Project: Hive
> Issue Type: Wish
> Reporter: apachehadoop
>
> JAVA CODE AS :
> // 分配可以到多个reduce
> public int findPartition(K key, V value) {
> int len = splitPoints.length;
> for (int i = 0; i < len; i++) {
> HiveKey hivekey = (HiveKey)key;
> String keystring = new String(hivekey.getBytes());
> LOG.info("HiveKey string ====> " + keystring);
> LOG.info("splitPoints int ====> " + splitPoints[i]);
>
> //IntWritable keyInt = new
> IntWritable(Integer.parseInt(keystring));
> //int res =
> ((IntWritable)key).compareTo((IntWritable)splitPoints[i]);
> //int res = keyInt.compareTo((IntWritable)splitPoints[i]);
> int res = 0;
> //int res =
> ((IntWritable)key).compareTo((IntWritable)splitPoints[i]);
> if (res > 0 && i < len - 1) {
> continue;
> } else if (res <= 0) {
> return i;
> } else if (res > 0 && i == len - 1) {
> return i + 1;
> }
> }
> return 0;
> }
> As above,I can not get the value of key ,please help me ,friends.....
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)