我尝试通过 JDBC 转换器将 Postresql 数据加载到 Geomesa(带有 Cassandra 数据存储)中。
从形状加载工作正常,所以 Cassandra 和 GeoMesa 设置没问题
接下来我尝试从 PostgreSQL 加载数据
命令:
echo "从 v_gewaspercelen2018 中选择年份、geom、grondgebruik、crop_code、crop_name、fieldid、global_id、面积、周长、geohash" | bin/geomesa-cassandra 摄取 -c 目录 -P cassandraserver:9042 -k agrodatacube -f parcel -C geomesa.converters.parcel -u -p
转换器定义文件geomesa.converters.parcel如下所示:
geomesa.converters.parcel = {
type = "jdbc"
connection = "dbc:postgresql://postgresserver:5432/agrodatacube"
id-field="toString($5)"
fields = [
{ name = "fieldid", transform = "$5" }
{ name = "global_id", transform = "$6" }
{ name = "year", transform = "$0" }
{ name = "area", transform = "$7" }
{ name = "perimeter", transform = "$8" }
{ name = "grondgebruik", transform = "$2" }
{ name = "crop_code", transform = "$3" }
{ name = "crop_name", transform = "$4" }
{ name = "geohash", transform = "$9" }
{ name = "geom", transform = "$1" }
]
}
geomesa 输出为:
INFO Schema 'parcel' exists
INFO Running ingestion in local mode
INFO Ingesting from stdin with 1 thread
[ ] 0% complete 0 i[ ] 0% complete 0 ingested 0 failed in 00:00:01
ERROR Fatal error running local ingest worker on <stdin>
[ ] 0% complete 0 i[ ] 0% complete 0 ingested 0 failed in 00:00:01
INFO Local ingestion complete in 00:00:01
INFO Ingested 0 features with no failures for file: <stdin>
WARN Some files caused errors, ingest counts may not be accurate
有人知道这里有什么问题吗?