You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2012/11/19 21:26:56 UTC
[6/6] git commit: Support multiple outputs in BOF Patch by Michael
Kjellman, reviewed by brandonwilliams for CASSANDRA-4912
Support multiple outputs in BOF
Patch by Michael Kjellman, reviewed by brandonwilliams for
CASSANDRA-4912
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/edf63d8a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/edf63d8a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/edf63d8a
Branch: refs/heads/cassandra-1.2
Commit: edf63d8a5110aaaa1efa708343d1dce071d031cd
Parents: 3957df1
Author: Brandon Williams <br...@apache.org>
Authored: Mon Nov 19 14:25:41 2012 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Nov 19 14:25:41 2012 -0600
----------------------------------------------------------------------
.../apache/cassandra/hadoop/BulkOutputFormat.java | 4 ++--
.../apache/cassandra/hadoop/BulkRecordWriter.java | 15 ++++++++++-----
2 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/edf63d8a/src/java/org/apache/cassandra/hadoop/BulkOutputFormat.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/hadoop/BulkOutputFormat.java b/src/java/org/apache/cassandra/hadoop/BulkOutputFormat.java
index 7a6a1d7..f1c5f39 100644
--- a/src/java/org/apache/cassandra/hadoop/BulkOutputFormat.java
+++ b/src/java/org/apache/cassandra/hadoop/BulkOutputFormat.java
@@ -37,9 +37,9 @@ public class BulkOutputFormat extends OutputFormat<ByteBuffer,List<Mutation>>
private void checkOutputSpecs(Configuration conf)
{
- if (ConfigHelper.getOutputKeyspace(conf) == null || ConfigHelper.getOutputColumnFamily(conf) == null)
+ if (ConfigHelper.getOutputKeyspace(conf) == null)
{
- throw new UnsupportedOperationException("you must set the keyspace and columnfamily with setColumnFamily()");
+ throw new UnsupportedOperationException("you must set the keyspace with setColumnFamily()");
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/edf63d8a/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java b/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java
index 4883743..3f70ca5 100644
--- a/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java
+++ b/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java
@@ -60,7 +60,7 @@ implements org.apache.hadoop.mapred.RecordWriter<ByteBuffer,List<Mutation>>
private final Logger logger = LoggerFactory.getLogger(BulkRecordWriter.class);
private SSTableSimpleUnsortedWriter writer;
private SSTableLoader loader;
- private final File outputdir;
+ private File outputdir;
private Progressable progress;
private int maxFailures;
@@ -99,9 +99,6 @@ implements org.apache.hadoop.mapred.RecordWriter<ByteBuffer,List<Mutation>>
this.conf = conf;
DatabaseDescriptor.setStreamThroughputOutboundMegabitsPerSec(Integer.parseInt(conf.get(STREAM_THROTTLE_MBITS, "0")));
maxFailures = Integer.parseInt(conf.get(MAX_FAILED_HOSTS, "0"));
- String keyspace = ConfigHelper.getOutputKeyspace(conf);
- outputdir = new File(getOutputLocation() + File.separator + keyspace + File.separator + ConfigHelper.getOutputColumnFamily(conf)); //dir must be named by ks/cf for the loader
- outputdir.mkdirs();
}
private String getOutputLocation() throws IOException
@@ -127,8 +124,16 @@ implements org.apache.hadoop.mapred.RecordWriter<ByteBuffer,List<Mutation>>
}
}
- private void prepareWriter()
+ private void prepareWriter() throws IOException
{
+ if (outputdir == null)
+ {
+ String keyspace = ConfigHelper.getOutputKeyspace(conf);
+ //dir must be named by ks/cf for the loader
+ outputdir = new File(getOutputLocation() + File.separator + keyspace + File.separator + ConfigHelper.getOutputColumnFamily(conf));
+ outputdir.mkdirs();
+ }
+
if (writer == null)
{
AbstractType<?> subcomparator = null;