2016-09-03 2 views
0

Hallo Leute, ich bin neu in GeoMesa. Und versuche, meine MySQL-Tabelle dorthin zu importieren. Wie auf ihrer http://www.geomesa.org/documentation/user/commandline_tools.html Website angegeben.Geomesa .csv Konvertierung Format

in eine CSV-Datei, eine SimpleFeatureType namens Renegaten und einen Konverter namens Renegaten-csv aufnehmen kann in der application.conf Datei abgelegt werden:

geomesa { 
    sfts { 
    renegades = { 
     attributes = [ 
     { name = "id",  type = "Integer",  index = false        } 
     { name = "name",  type = "String",  index = true        } 
     { name = "age",  type = "Integer",  index = false        } 
     { name = "lastseen", type = "Date",   index = true        } 
     { name = "friends", type = "List[String]", index = true        } 
     { name = "geom",  type = "Point",  index = true, srid = 4326, default = true } 
     ] 
    } 
    } 
    converters { 
    renegades-csv = { 
     type = "delimited-text" 
     format = "CSV" 
     options { 
     skip-lines = 1 //skip the header 
     } 
     id-field = "toString($id)" 
     fields = [ 
     { name = "id",  transform = "$1::int"     } 
     { name = "name",  transform = "$2::string"    } 
     { name = "age",  transform = "$3::int"     } 
     { name = "lastseen", transform = "date('YYYY-MM-dd', $4)" } 
     { name = "friends", transform = "parseList('string', $5)" } 
     { name = "lon",  transform = "$6::double"    } 
     { name = "lat",  transform = "$7::double"    } 
     { name = "geom",  transform = "point($lon, $lat)"  } 
     ] 
    } 
    } 
} 

Aber das Problem ist, dass:

  1. Ich kann kein Tutorial oder Hilfe finden, wie man diese Datei erstellt. Einige der Datentypen wurden im obigen Beispiel angegeben. Aber einige meiner SQL-DB-Werte sind varchar, tinyint, float und datetime. Nun, welcher Datentyp in GeoMesa ist ähnlich zu diesem Datentyp sowohl für Renegade und Konverter.
  2. Und auch wenn index = wahr oder falsch für Abtrünnige.

Antwort

0

Für # 1, wie Sie zwischen MySQL und SimpleFeatureTypes für GeoMesa Karte wird varchar ‚string‘, jede ganze Zahl Feld kommen sollte ‚Integer‘ oder ‚Long‘, Termine sind ‚Datum‘ und Geometrie Felder sind wahrscheinlich "Point", "Linestring", "Polygon" oder "Geometry". (NB: Es gibt Multi-Versionen, aber Sie brauchen diese wahrscheinlich nicht.)

Für # 2 sind die 'index = wahr' (oder falsch) Bits über sekundäre Indizierung in GeoMesa. Standardmäßig erstellt GeoMesa Indizes für die geometrischen und zeitlichen Felder. Wenn Sie planen, nach Speicherplatz und Zeit abzufragen, sollten Ihre Abfragen ziemlich optimal sein. Wenn Sie nur nach einem Attribut fragen möchten, sagen Sie "Freunde" aus dem obigen Beispiel, dann ist es wahrscheinlich hilfreich, einen Index für dieses Feld mit "index = true" zu erstellen.

Verwandte Themen