Author: johan
Date: Tue Apr 6 17:26:29 2010
New Revision: 931237
URL: http://svn.apache.org/viewvc?rev=931237&view=rev
Log:
Provide correct locations so that Hadoop can schedule map tasks close to the
data. Patch by johan, review by jbellis. CASSANDRA-955
Modified:
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
Modified:
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java?rev=931237&r1=931236&r2=931237&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
(original)
+++
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
Tue Apr 6 17:26:29 2010
@@ -22,6 +22,7 @@ package org.apache.cassandra.hadoop;
import java.io.IOException;
+import java.net.InetAddress;
import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
@@ -146,7 +147,12 @@ public class ColumnFamilyInputFormat ext
// turn the sub-ranges into InputSplits
String[] endpoints = range.endpoints.toArray(new
String[range.endpoints.size()]);
-
+ // hadoop needs hostname, not ip
+ for (int i = 0; i < endpoints.length; i++)
+ {
+ endpoints[i] =
InetAddress.getByName(endpoints[i]).getHostName();
+ }
+
for (int i = 1; i < tokens.size(); i++)
{
ColumnFamilySplit split = new ColumnFamilySplit(tokens.get(i -
1), tokens.get(i), endpoints);