Hi,
Our config is below, in the DDL I've put the problem fields in Bold...all the geometry fields are problematic...over all the tables.
Regards,
Bas
Debezium version: 1.4.2.Final (Docker image)
Config properties:
name=klic-test-debez-archief-connector
connector.class=io.debezium.connector.postgresql.PostgresConnector
tasks.max=1
database.hostname=$DATABASE_HOSTNAME
database.port=5432
database.user=klicwin_db
database.password=$DATABASE_PASSWORD
database.dbname=KLICWINARCHIEF
database.server.name=$TOPIC_PREFIX
database.whitelist=enxta110-rds03
database.history.kafka.topic=110-klic-melding
# i pitty the fool that uses spaces in between values...
table.include.list=public.klicgebiedsaanvraag,public.klicgebiedsleveringthema,public.klicgebiedslevering,public.klicbeheerdersaanvraag
plugin.name=pgoutput
slot.name=debezium_klic_archief
transforms=unwrap,dropPrefix
transforms.unwrap.type=io.debezium.transforms.ExtractNewRecordState
transforms.dropPrefix.type=org.apache.kafka.connect.transforms.RegexRouter
transforms.dropPrefix.regex=(.*).public.(.*)
transforms.dropPrefix.replacement=$1$2
output.data.format=JSON
DDL:
CREATE TABLE public.klicgebiedsaanvraag
(
gebiedsaanvraagid character varying(50) COLLATE pg_catalog."default" NOT NULL,
klicmeldnummer character varying(50) COLLATE pg_catalog."default",
ordernummer character varying(50) COLLATE pg_catalog."default",
mutatiedatum timestamp without time zone,
omschrijvingwerkzaamheden character varying(2000) COLLATE pg_catalog."default",
referentie character varying(100) COLLATE pg_catalog."default",
soortwerkzaamheden character varying(200) COLLATE pg_catalog."default",
startdatum timestamp without time zone,
einddatum timestamp without time zone,
verzoekcoordinatie boolean,
verzoekmedegebruik boolean,
aanvraagdatum timestamp without time zone,
aanvraagsoort character varying(50) COLLATE pg_catalog."default",
avcontactemail character varying(100) COLLATE pg_catalog."default",
avcontactnaam character varying(200) COLLATE pg_catalog."default",
avcontacttelefoon character varying(20) COLLATE pg_catalog."default",
avextraemail character varying(100) COLLATE pg_catalog."default",
avorgnaam character varying(200) COLLATE pg_catalog."default",
avorgnaam2 character varying(200) COLLATE pg_catalog."default",
avorgkvknummer character varying(20) COLLATE pg_catalog."default",
avorgbezoekhuisletter character varying(20) COLLATE pg_catalog."default",
avorgbezoekhuisnummer character varying(20) COLLATE pg_catalog."default",
avorgbezoekhuisnrtoevoeging character varying(20) COLLATE pg_catalog."default",
avorgbezoekbagid character varying(100) COLLATE pg_catalog."default",
avorgbezoeklandcode character varying(50) COLLATE pg_catalog."default",
avorgbezoekopenbareruimtenaam character varying(100) COLLATE pg_catalog."default",
avorgbezoekpostcode character varying(20) COLLATE pg_catalog."default",
avorgbezoekwoonplaats character varying(100) COLLATE pg_catalog."default",
avorgpostbuslandcode character varying(50) COLLATE pg_catalog."default",
avorgpostbusnummer character varying(20) COLLATE pg_catalog."default",
avorgpostbuspostcode character varying(20) COLLATE pg_catalog."default",
avorgpostbuswoonplaats character varying(100) COLLATE pg_catalog."default",
avorgtelefoon character varying(20) COLLATE pg_catalog."default",
avorgmobiel character varying(20) COLLATE pg_catalog."default",
avorgfax character varying(20) COLLATE pg_catalog."default",
avorgemail character varying(100) COLLATE pg_catalog."default",
avorgemail2 character varying(100) COLLATE pg_catalog."default",
avorgwebsite character varying(200) COLLATE pg_catalog."default",
ogcontactemail character varying(100) COLLATE pg_catalog."default",
ogcontactnaam character varying(200) COLLATE pg_catalog."default",
ogcontacttelefoon character varying(20) COLLATE pg_catalog."default",
ogorgnaam character varying(200) COLLATE pg_catalog."default",
ogorgnaam2 character varying(200) COLLATE pg_catalog."default",
ogorgkvknummer character varying(20) COLLATE pg_catalog."default",
ogorgbezoekhuisletter character varying(20) COLLATE pg_catalog."default",
ogorgbezoekhuisnummer character varying(20) COLLATE pg_catalog."default",
ogorgbezoekhuisnrtoevoeging character varying(20) COLLATE pg_catalog."default",
ogorgbezoekbagid character varying(100) COLLATE pg_catalog."default",
ogorgbezoeklandcode character varying(50) COLLATE pg_catalog."default",
ogorgbezoekopenbareruimtenaam character varying(100) COLLATE pg_catalog."default",
ogorgbezoekpostcode character varying(20) COLLATE pg_catalog."default",
ogorgbezoekwoonplaats character varying(100) COLLATE pg_catalog."default",
ogorgpostbuslandcode character varying(50) COLLATE pg_catalog."default",
ogorgpostbusnummer character varying(20) COLLATE pg_catalog."default",
ogorgpostbuspostcode character varying(20) COLLATE pg_catalog."default",
ogorgpostbuswoonplaats character varying(100) COLLATE pg_catalog."default",
ogorgtelefoon character varying(20) COLLATE pg_catalog."default",
ogorgmobiel character varying(20) COLLATE pg_catalog."default",
ogorgfax character varying(20) COLLATE pg_catalog."default",
ogorgemail character varying(100) COLLATE pg_catalog."default",
ogorgemail2 character varying(100) COLLATE pg_catalog."default",
ogorgwebsite character varying(200) COLLATE pg_catalog."default",
lwopenbareruimtenaam character varying(100) COLLATE pg_catalog."default",
lwhuisnummer character varying(20) COLLATE pg_catalog."default",
lwhuisletter character varying(20) COLLATE pg_catalog."default",
lwhuisnummertoevoeging character varying(20) COLLATE pg_catalog."default",
lwwoonplaats character varying(100) COLLATE pg_catalog."default",
lwpostcode character varying(20) COLLATE pg_catalog."default",
lwbagid character varying(100) COLLATE pg_catalog."default",
dbabagid character varying(100) COLLATE pg_catalog."default",
graafpolygoon geometry(MultiPolygon,28992),
orientatiepolygoon geometry(MultiPolygon,28992),
informatiepolygoon geometry(MultiPolygon,28992),
CONSTRAINT klicgebiedsaanvraag_pk PRIMARY KEY (gebiedsaanvraagid)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/a224a380-8b33-4897-bec6-73e63d7247fdn%40googlegroups.com.
Sorry for my delayed reply here. Also, thanks Gunnar for sending along that information.Regarding the original issue:To ingest the point value from a WKB formatted binary representation, there is a transformation function available in Apache Pinot that you can add to your schema configuration that creates a generated column as a Geography instance, which allows you to perform geospatial operations using H3 indexing (https://h3geo.org/).The data value format that was provided by the OP (B@12333ee) is a hexadecimal hash string representation of the integer value represented by the byte array of a WKB geometry value, which is often used as a placeholder in database query results. It typically makes it easier and more performant to do equality comparisons between byte values. I think you were able to sort that issue out, which is great.@kamal
The one thing I would point out here is that EWKB is not supported as a Geography instance using ingestion transformation functions available in Pinot. You'll need to encode the exported geospatial point as a hexadecimal string or byte array without an SRID. Once you've done that, the rest is pretty simple using a generated column in a Pinot schema.Here is an example:From the example link:"transformFunction": "toSphericalGeography(stPoint(driverLon,driverLat))"This function here is using stPoint to convert two separate lat and lon columns into a Geometry point data type, which is required to convert the field into a Geography instance used for queries. The transformation function you'll use instead is ST_GeomFromWKB(bytes wkb) → Geometry. Which will end up looking like this:"transformFunction": "toSphericalGeography(ST_GeomFromWKB(point))"In this snippet, point is the name of the column that is in the payload of your Kafka message. Now you will be able to ingest the values into a real-time table and use geospatial functions in your Pinot SQL queries. See the geospatial documentation for more info, and I'll be happy to help if you need anything else.Thanks,Kenny Bastani
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/431b4803-a290-478c-af2a-0016931d261an%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/b3dd1d9b-cf40-4d03-832c-46841b304965n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/7939f817-12a2-490f-91ee-7f1806329dedn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/38bda369-3cc1-41fc-ab76-223adc463eban%40googlegroups.com.