Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright 2013 Cloudera Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
 package org.kitesdk.maven.plugins;
 
 
 import java.io.File;
 
Create a named dataset whose entries conform to a defined schema.
 
 @Mojo(name = "create-dataset", requiresProject = false, requiresDependencyResolution = .)
 public class CreateDatasetMojo extends AbstractDatasetMojo {
 
   private static final Logger LOG = LoggerFactory.getLogger(CreateDatasetMojo.class);

  
The name of the dataset to create. Ignored if kite.uri is set.
 
   @Parameter(property = "kite.datasetNamespace", defaultValue = "default")
   private String datasetNamespace;

  
The name of the dataset to create. Ignored if kite.uri is set.
 
   @Parameter(property = "kite.datasetName")
   private String datasetName;

  
The file containing the Avro schema. If no file with the specified name is found on the local filesystem, then the classpath is searched for a matching resource. One of either this property or kite.avroSchemaReflectClass must be specified.
 
   @Parameter(property = "kite.avroSchemaFile")
   private String avroSchemaFile;

  
The fully-qualified classname of the Avro reflect class to use to generate a schema. The class must be available on the classpath. One of either this property or kite.avroSchemaFile must be specified.
 
   @Parameter(property = "kite.avroSchemaReflectClass")
   private String avroSchemaReflectClass;

  
The file format (avro or parquet).
 
   @Parameter(property = "kite.format")
   private String format = ..getName();

  
The partition expression, in JEXL format (experimental).
 
   @Parameter(property = "kite.partitionExpression")
   private String partitionExpression;
 
   @Parameter(property = "kite.partitionStrategyFile")
 
   @Parameter(property = "kite.columnDescriptorFile")
 
   @Override
   public void execute() throws MojoExecutionExceptionMojoFailureException {
     if ( == null &&  == null) {
       throw new IllegalArgumentException("One of kite.avroSchemaFile or "
           + "kite.avroSchemaReflectClass must be specified");
     }
 
    DatasetDescriptor.Builder descriptorBuilder = new DatasetDescriptor.Builder();
    if (.equals(..getName())) {
      descriptorBuilder.format(.);
    } else if (.equals(..getName())) {
      descriptorBuilder.format(.);
    } else {
      throw new MojoExecutionException("Unrecognized format: " + );
    }
    if ( != null) {
      File partitionStrategy = new File();
      try {
        if (partitionStrategy.exists()) {
          descriptorBuilder.partitionStrategy(partitionStrategy);
        } else {
          descriptorBuilder.partitionStrategy(Resources.getResource(
              ).openStream());
        }
      } catch (IOException e) {
        throw new MojoExecutionException("Problem while reading file "
            + e);
      }
    } else if ( != null) {
      descriptorBuilder.partitionStrategy(Accessor.getDefault().fromExpression(
          ));
    }
    if ( != null) {
      File columnDescriptor = new File();
      try {
        if (columnDescriptor.exists()) {
          descriptorBuilder.columnMapping(columnDescriptor);
        } else {
          descriptorBuilder.columnMapping(Resources.getResource(
              ).openStream());
        }
      } catch (IOException e) {
        throw new MojoExecutionException("Problem while reading file "
            + e);
      }
    }
    if ( != null) {
      Datasets.create(descriptorBuilder.build());
    } else {
      .warn(
          "kite.datasetName is deprecated, instead use kite.uri=<dataset-uri>");
      Preconditions.checkArgument( != null,
          "kite.datasetName is required if kite.uri is not used");
      repo.create(descriptorBuilder.build());
    }
  }
New to GrepCode? Check out our FAQ X