2016-09-03 3 views
0

Привет, ребята, я новичок в GeoMesa. И пытаюсь импортировать мою таблицу MySQL в нее. Как указано на их сайте http://www.geomesa.org/documentation/user/commandline_tools.html.Geomesa .csv формат преобразования

Чтобы глотают CSV-файл, на SimpleFeatureType имени ренегатов и конвертер с именем ренегатов-CSV можно поместить в файл application.conf:

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)"  } 
     ] 
    } 
    } 
} 

Но проблема в том, что:

  1. Я не могу найти ни одного учебника или справки о том, как сделать этот файл, некоторые из типов данных были приведены в приведенном выше примере. Но некоторые из моих значений sql DB - это varchar, tinyint, float и datetime. Теперь, какой тип данных в GeoMesa похож на эти типы данных как для ренегата, так и для преобразователей.
  2. А также, когда делать index = true или false для ренегатов.

ответ

0

Для # 1, как вы карту между MySQL и SimpleFeatureTypes для GeoMesa, VARCHAR становится «строка», любое целое поле число должно быть прийти «Integer» или «Long», даты «Date», и геометрия поля скорее всего, «Point», «Linestring», «Polygon» или «Geometry». (NB: есть несколько версий, но, вероятно, вам это не нужны.)

Для # 2 биты index = true (или false) относятся к вторичному индексированию в GeoMesa. По умолчанию GeoMesa создает индексы для геометрии и временных полей. Если вы планируете запрашивать пространство и время, ваши запросы должны быть довольно оптимальными. Если вы хотите запросить только атрибут, скажите «друзья» из приведенного выше примера, то создание индекса для этого поля с «index = true», скорее всего, будет полезным.

Смежные вопросы