0

大家好,我是 GeoMesa 的新手。并尝试将我的 MySQL 表导入其中。正如他们的http://www.geomesa.org/documentation/user/commandline_tools.html网站上给出的。

要摄取 .csv 文件,可以在 application.conf 文件中放置一个名为 renegades 的 SimpleFeatureType 和一个名为 renegades-csv 的转换器:

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。现在,对于 renegade和 converters,GeoMesa 中的数据类型与这些数据类型相似。
  2. 以及何时为renegades 设置 index= true 或 false
4

1 回答 1

0

对于#1,当您在 MySQL 和 GeoMesa 的 SimpleFeatureTypes 之间进行映射时,varchar 变为“字符串”,任何整数字段都应为“整数”或“长整数”,日期为“日期”,几何字段可能为“点”, “线串”、“多边形”或“几何”。(注意:有多个版本,但您可能不需要这些。)

对于#2,'index=true'(或 false)位是关于 GeoMesa 中的二级索引。默认情况下,GeoMesa 为几何和时间字段创建索引。如果您计划按空间和时间进行查询,那么您的查询应该是非常理想的。如果您只想通过属性进行查询,例如上面示例中的“朋友”,那么使用“index=true”为该字段创建索引可能会有所帮助。

于 2016-09-14T18:22:08.327 回答