Comments (4)
Thanks for the suggestion -- we are looking at this.
A question, though. Without an entry in the tables2topicsmap, we ingest topics into a table with the same name. This can cause problems with Snowflake's limitations on table names. E.g., we can't have a table with a hyphen, so we need to remap "my-topic" to something. But we can't extend the map to dynamically-added topics.
What would you prefer:
- We don't ingest new topics whose names are invalid Snowflake identifiers.
- We strip any non-conforming characters, and append a disambiguator to the name. E.g., "foo-bar" might become "foobar_12349876".
from snowflake-kafka-connector.
I think as long as you logged that the attempt had been made, with the offending topic name, and the logs weren't flooded with that (so like no more than once every five seconds per offending topic plz plz), we can handle that on our end. We're controlling topic names with a ruby gem that handles Avro schema encoding and publishing to a topic, so we're already abiding by the Snowflake table name rules, but I think logging is at least a good first step for a good general failure behavior.
from snowflake-kafka-connector.
We auto-generate the table name in the map anyway. The corresponding part in the shell script is:
table=$(echo $topic | tr '.[:lower:]' '_[:upper:]')
This works pretty well for us, as we only have dots as special characters in topic names. In my view the second option is preferred, as our team is just one of many users of Kafka and cannot control the naming convention just for this connector.
from snowflake-kafka-connector.
from snowflake-kafka-connector.
Related Issues (20)
- Configuring temporal type formats with Snowpipe Streaming HOT 3
- Transactional ingest HOT 4
- NDJSON support. HOT 4
- `buffer.flush.time` setting not working correctly. HOT 10
- Struct array elements are being serialized before writing to Array column HOT 4
- CVE-2023-39410 in Snowflake-kafka-connect JAR HOT 1
- Where is the 2.1.1 release? HOT 2
- Using configProviders other than file fails validation HOT 3
- google.cloud.storage.StorageException: 401 Unauthorized, causing RECORD_METADATA Exception: Invalid column name HOT 3
- Snowflake Sink committing offsets for null/tombstone messages HOT 4
- `google.cloud.storage.StorageException: 401 Unauthorized` HOT 3
- SNOW-989387 Connectors errored out after updating to v2.1.2 HOT 18
- Insert order when using snowpipe streaming HOT 2
- Streaming Channel Offset Migration (transient exception) HOT 2
- SCHEMA EVOLUTION: Converting a String to Number Column HOT 2
- Ingestion loop when Snowflake Ingestion fails HOT 3
- Log is flooded with INFO messages HOT 1
- Failure to properly deserialize decimal data type HOT 4
- Distribute "slim" version of the connector HOT 2
- Sporadic events causing lags? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from snowflake-kafka-connector.