GeoMesa Command Line

This section describes common GeoMesa commands. For more GeoMesa commands, visit https://www.geomesa.org/documentation/user/accumulo/commandline.html.

  1. View classpath.

    After you run the classpath command, all classpath information of the current command line tool will be returned.

    bin/geomesa-hbase classpath
  2. Create a table.

    Run the create-schema command to create a table. When creating a table, you need to specify the directory name, table name, and table specifications at least.

    bin/geomesa-hbase create-schema -c geomesa -f test -s Who:String,What:java.lang.Long,When:Date,*Where:Point:srid=4326,Why:String
  3. Describe a table.

    Run the describe-schema command to obtain table descriptions. When describing a table, you need to specify the directory name and table name.

    bin/geomesa-hbase describe-schema -c geomesa -f test
  4. Import data in batches.

    Run the ingest command to import data in batches. When importing data, you need to specify the directory name, table name, table specifications, and the related data converter.

    Data (license plate number, vehicle color, longitude, dimension, and time): data.csv. Save the data table to the data folder.

    AAA,red,113.918417,22.505892,2017-04-09 18:03:46
    BBB,white,113.960719,22.556511,2017-04-24 07:38:47
    CCC,blue,114.088333,22.637222,2017-04-23 15:07:54
    DDD,yellow,114.195456,22.596103,2017-04-21 21:27:06
    EEE,black,113.897614,22.551331,2017-04-09 09:34:48

    Table structure definition: myschema.sft. Save myschema.sft to the conf folder of the GeoMesa command line tool.

    geomesa.sfts.cars = {
       attributes = [
            { name = "carid", type = "String", index = true }
            { name = "color", type = "String", index = false }
            { name = "time", type = "Date",   index = false }
            { name = "geom", type = "Point",  index = true,srid = 4326,default = true }
       ]
    }

    Converter definition: myconvertor.convert. Save myconvertor.convert to the conf folder of the GeoMesa command line tool.

    geomesa.converters.cars= {
          type   = "delimited-text",
          format = "CSV",
          id-field = "$fid",
          fields = [
            { name = "fid",     transform = "concat($1,$5)" }
            { name = "carid",   transform = "$1::string" }
            { name = "color",   transform = "$2::string" }
            { name = "lon",     transform = "$3::double" }
            { name = "lat",     transform = "$4::double" } 
            { name = "geom",    transform = "point($lon,$lat)" }
            { name = "time",    transform = "date('YYYY-MM-dd HH:mm:ss',$5)" }
          ]
    }

    Run the following command to import data:

    bin/geomesa-hbase ingest -c geomesa -C conf/myconvertor.convert -s conf/myschema.sft data/data.csv

    For details about other parameters for importing data, visit https://www.geomesa.org/documentation/user/accumulo/examples.html#ingesting-data.

  5. Query explanations.

    Run the explain command to obtain execution plan explanations of the specified query statement. You need to specify the directory name, table name, and query statement.

    bin/geomesa-hbase explain -c geomesa -f cars -q "carid = 'BBB'"
  6. Conduct statistical analysis.

    Run the stats-analyze command to conduct statistical analysis on the data table. In addition, you can run the stats-bounds, stats-count, stats-histogram, and stats-top-k commands to collect more detailed statistics on the data table.

    bin/geomesa-hbase stats-analyze -c geomesa -f cars
    bin/geomesa-hbase stats-bounds -c geomesa -f cars
    bin/geomesa-hbase stats-count -c geomesa -f cars
    bin/geomesa-hbase stats-histogram -c geomesa -f cars
    bin/geomesa-hbase stats-top-k -c geomesa -f cars
  7. Export a feature.

    Run the export command to export a feature. When exporting the feature, you must specify the directory name and table name. In addition, you can specify a query statement to export the feature.

    bin/geomesa-hbase export -c geomesa -f cars -q "carid = 'BBB'"
  8. Delete a feature.

    Run the delete-features command to delete a feature. When deleting the feature, you must specify the directory name and table name. In addition, you can specify a query statement to delete the feature.

    bin/geomesa-hbase delete-features -c geomesa -f cars -q "carid = 'BBB'"
  9. Obtain the names of all tables in the directory.

    Run the get-type-names command to obtain the names of tables in the specified directory.

    bin/geomesa-hbase get-type-names -c geomesa
  10. Delete a table.

    Run the remove-schema command to delete a table. You need to specify the directory name and table name at least.

    bin/geomesa-hbase remove-schema -c geomesa -f test
    bin/geomesa-hbase remove-schema -c geomesa -f cars
  11. Delete a catalog.

    Run the delete-catalog command to delete the specified catalog.

    bin/geomesa-hbase delete-catalog -c geomesa