summaryrefslogtreecommitdiffstats
path: root/vespa-hadoop/src
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-24 14:58:33 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-24 14:58:33 +0100
commitb873f03349b85dec1bba04ed8af35da3902f3fbb (patch)
tree662bd26ab79da015ec776507fc97ac47d8f0496b /vespa-hadoop/src
parent8e918835acb36f033ce6c9a087b1337ccf5227f1 (diff)
Use vespa-feed-client by default
Diffstat (limited to 'vespa-hadoop/src')
-rw-r--r--vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java25
-rw-r--r--vespa-hadoop/src/test/resources/visit_data.json22
2 files changed, 30 insertions, 17 deletions
diff --git a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java
index 00ce396fd09..66ab94574d9 100644
--- a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java
+++ b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java
@@ -3,10 +3,18 @@ package com.yahoo.vespa.hadoop.mapreduce;
import com.yahoo.vespa.hadoop.mapreduce.util.VespaConfiguration;
import com.yahoo.vespa.hadoop.mapreduce.util.VespaCounters;
-import org.apache.hadoop.mapreduce.*;
+import org.apache.hadoop.mapreduce.JobContext;
+import org.apache.hadoop.mapreduce.OutputCommitter;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
import java.io.IOException;
+import java.util.Objects;
import java.util.Properties;
+import java.util.logging.Logger;
+
+import static com.yahoo.vespa.http.client.config.FeedParams.DataFormat.XML_UTF8;
/**
* An output specification for writing to Vespa instances in a Map-Reduce job.
@@ -18,6 +26,8 @@ import java.util.Properties;
@SuppressWarnings("rawtypes")
public class VespaOutputFormat extends OutputFormat {
+ private static final Logger log = Logger.getLogger(VespaOutputFormat.class.getName());
+
final Properties configOverride;
public VespaOutputFormat() {
@@ -33,12 +43,17 @@ public class VespaOutputFormat extends OutputFormat {
@Override
@SuppressWarnings("deprecation")
- public RecordWriter getRecordWriter(TaskAttemptContext context) throws IOException, InterruptedException {
+ public RecordWriter getRecordWriter(TaskAttemptContext context) throws IOException {
VespaCounters counters = VespaCounters.get(context);
VespaConfiguration configuration = VespaConfiguration.get(context.getConfiguration(), configOverride);
- return configuration.useLegacyClient().orElse(true)
- ? new LegacyVespaRecordWriter(configuration, counters)
- : new VespaRecordWriter(configuration, counters);
+ Boolean useLegacyClient = configuration.useLegacyClient().orElse(null);
+ if (Objects.equals(useLegacyClient, Boolean.TRUE) || configuration.dataFormat() == XML_UTF8) {
+ log.warning("Feeding with legacy client or XML will no longer be supported on Vespa 8. " +
+ "See https://docs.vespa.ai/en/vespa8-release-notes.html");
+ return new LegacyVespaRecordWriter(configuration, counters);
+ } else {
+ return new VespaRecordWriter(configuration, counters);
+ }
}
diff --git a/vespa-hadoop/src/test/resources/visit_data.json b/vespa-hadoop/src/test/resources/visit_data.json
index a48fc9cf1c0..947b9326cc8 100644
--- a/vespa-hadoop/src/test/resources/visit_data.json
+++ b/vespa-hadoop/src/test/resources/visit_data.json
@@ -1,12 +1,10 @@
-[
-{"id":"id:testapp:metric::clicks-2015110414","fields":{"date":"2015110414","name":"clicks","value":1,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110415","fields":{"date":"2015110415","name":"clicks","value":2,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110416","fields":{"date":"2015110416","name":"clicks","value":4,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110417","fields":{"date":"2015110417","name":"clicks","value":3,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110418","fields":{"date":"2015110418","name":"clicks","value":6,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110419","fields":{"date":"2015110419","name":"clicks","value":3,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110420","fields":{"date":"2015110420","name":"clicks","value":4,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110421","fields":{"date":"2015110421","name":"clicks","value":2,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110422","fields":{"date":"2015110422","name":"clicks","value":7,"application":"testapp"}},
-{"id":"id:testapp:metric::clicks-2015110423","fields":{"date":"2015110423","name":"clicks","value":1,"application":"testapp"}}
-]
+{"id":"id:testapp:metric::clicks-2015110414","fields":{"date":"2015110414","name":"clicks","value":1,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110415","fields":{"date":"2015110415","name":"clicks","value":2,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110416","fields":{"date":"2015110416","name":"clicks","value":4,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110417","fields":{"date":"2015110417","name":"clicks","value":3,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110418","fields":{"date":"2015110418","name":"clicks","value":6,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110419","fields":{"date":"2015110419","name":"clicks","value":3,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110420","fields":{"date":"2015110420","name":"clicks","value":4,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110421","fields":{"date":"2015110421","name":"clicks","value":2,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110422","fields":{"date":"2015110422","name":"clicks","value":7,"application":"testapp"}}
+{"id":"id:testapp:metric::clicks-2015110423","fields":{"date":"2015110423","name":"clicks","value":1,"application":"testapp"}} \ No newline at end of file