use of org.locationtech.geowave.analytic.spark.sparksql.operations.SparkSqlCommand in project geowave by locationtech.
the class GeoWaveGrpcAnalyticSparkService method sparkSqlCommand.
@Override
public void sparkSqlCommand(final SparkSqlCommandParametersProtos request, final StreamObserver<VoidResponseProtos> responseObserver) {
final SparkSqlCommand cmd = new SparkSqlCommand();
final Map<FieldDescriptor, Object> m = request.getAllFields();
GeoWaveGrpcServiceCommandUtil.setGrpcToCommandFields(m, cmd);
final File configFile = GeoWaveGrpcServiceOptions.geowaveConfigFile;
final OperationParams params = new ManualOperationParams();
params.getContext().put(ConfigOptions.PROPERTIES_FILE_CONTEXT, configFile);
cmd.prepare(params);
LOGGER.info("Executing SparkSqlCommand...");
try {
cmd.computeResults(params);
final VoidResponseProtos resp = VoidResponseProtos.newBuilder().build();
responseObserver.onNext(resp);
responseObserver.onCompleted();
} catch (final Exception e) {
LOGGER.error("Exception encountered executing command", e);
responseObserver.onError(e);
}
}
Aggregations