J'ai un cluster fonctionnant dans Confluent Cloud et je suis capable de produire et de consommer des données à l'aide d'autres applications. Cependant, lorsque j'essaye de connecter le connecteur Snowflake Kafka, je reçois les erreurs suivantes:
{ "name":"snowsink", "config":{ "connector.class":"com.snowflake.kafka.connector.SnowflakeSinkConnector", "tasks.max":"8", "topics":"tp-snow-test", "buffer.count.records":"100", "buffer.flush.time":"60", "buffer.size.bytes":"65536", "snowflake.url.name":"xxxxxxx.east-us-2.azure.snowflakecomputing.com", "snowflake.user.name":"svc_cc_strm", "snowflake.private.key":"<key>", "snowflake.private.key.passphrase":<password>, "snowflake.database.name":"testdb", "snowflake.schema.name":"test1", "key.converter":"org.apache.kafka.connect.storage.StringConverter", "value.converter":"com.snowflake.kafka.connector.records.SnowflakeJsonConverter" } }
Voici mon fichier de configuration Snowflake nettoyé:
[2019-10-15 22:12:08,979] INFO Creating connector source-snowflake of type com.snowflake.kafka.connector.SnowflakeSinkConnector (org.apache.kafka.connect.runtime.Worker) [2019-10-15 22:12:08,983] INFO Instantiated connector source-snowflake with version 0.5.1 of type class com.snowflake.kafka.connector.SnowflakeSinkConnector (org.apache.kafka.connect.runtime.Worker) [2019-10-15 22:12:08,986] INFO [SF_KAFKA_CONNECTOR] Snowflake Kafka Connector Version: 0.5.1 (com.snowflake.kafka.connector.Utils) [2019-10-15 22:12:09,029] INFO [SF_KAFKA_CONNECTOR] SnowflakeSinkConnector:start (com.snowflake.kafka.connector.SnowflakeSinkConnector) [2019-10-15 22:12:09,030] ERROR [SF_KAFKA_CONNECTOR] name is empty or invalid. It should match Snowflake object identifier syntax. Please see the documentation. (com.snowflake.kafka.connector.Utils) [2019-10-15 22:12:09,033] ERROR WorkerConnector{id=source-snowflake} Error while starting connector (org.apache.kafka.connect.runtime.WorkerConnector) com.snowflake.kafka.connector.internal.SnowflakeKafkaConnectorException: [SF_KAFKA_CONNECTOR] Exception: Invalid input connector configuration [SF_KAFKA_CONNECTOR] Error Code: 0001 [SF_KAFKA_CONNECTOR] Detail: input kafka connector configuration is null, missing required values, or wrong input value at com.snowflake.kafka.connector.internal.SnowflakeErrors.getException(SnowflakeErrors.java:347) at com.snowflake.kafka.connector.internal.SnowflakeErrors.getException(SnowflakeErrors.java:306) at com.snowflake.kafka.connector.Utils.validateConfig(Utils.java:400) at com.snowflake.kafka.connector.SnowflakeSinkConnector.start(SnowflakeSinkConnector.java:131) at org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:111) at org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:136) at org.apache.kafka.connect.runtime.WorkerConnector.transitionTo(WorkerConnector.java:196) at org.apache.kafka.connect.runtime.Worker.startConnector(Worker.java:252) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startConnector(DistributedHerder.java:1079) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.access$1300(DistributedHerder.java:117) at org.apache.kafka.connect.runtime.distributed.DistributedHerder$15.call(DistributedHerder.java:1095) at org.apache.kafka.connect.runtime.distributed.DistributedHerder$15.call(DistributedHerder.java:1091) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Des idées? Merci.
3 Réponses :
Vous devez changer le nom de votre connecteur ( source-snow
) pour supprimer le -
de celui-ci (afin qu'il corresponde à
0 commentaires
Le nom du connecteur doit être un identifiant SQL valide pour Snowflake. De nombreux exemples de sujets kafka contiennent des tirets que lorsque j'ai essayé le connecteur Snowflake Kafka pour la première fois, j'ai eu la même erreur.
Selon la documentation , un tuyau Snowflake est créé à l'aide du nom_connecteur spécifié et les noms de canaux doivent être des identificateurs SQL valides.
Le connecteur crée un tube pour chaque partition de rubrique. Le nom est:
SNOWFLAKE_KAFKA_CONNECTOR_ TUYAU _.
Également du même page doc à "Champs dans le fichier de configuration" pour le nom:
Nom de l'application. Cela doit être unique pour tous les connecteurs Kafka utilisés par le client. Ce nom doit être un identifiant Snowflake valide sans guillemets.
Si le sujet contient un tiret, il devra être mappé à un nom de table qui est également un identifiant SQL approprié dans la configuration de votre connecteur, sinon il essaiera de créer le nom de la table comme le même que le nom du sujet et échouer sur le "-" dans le nom.
Vous devez avoir l'entrée ci-dessous dans votre fichier de configuration, sous l'entrée des rubriques.
"topics": "tp-snow-test",
"snowflake.topic2table.map": "tp-snow-test: TestKafkaTable",
Avez-vous
snowflake.topic2table.map
dans votre fichier de configuration?@sdmgill est-ce que l'une de ces solutions vous a aidé?