Мне удалось настроить сервер KSQL и клиент CLI KSQL для использования потока с использованием KSQL и его работы с использованием cli. Например, команда show themes работает ниже
ksql> SHOW TOPICS;
Kafka Topic | Registered | Partitions | Partition Replicas | Consumers | Consumer Groups
---------------------------------------------------------------------------------------------------------------------
_confluent-ksql-default__command_topic | true | 1 | 1 | 0 | 0
Но когда я использую ksql
пакет python для вызова того же SHOW TOPIC
или любого SELECT
запроса, он дает ошибку ниже.
>>> client = KSQLAPI('http://localhost:8088')
>>> results = client.query('SHOW TOPICS;')
>>> for item in results:
... print(item)
...
Traceback (most recent call last):
File "/home/ubuntu/venv_language/lib/python3.6/site-packages/ksql/api.py", line 170, in _request
r = urllib.request.urlopen(req, timeout=self.timeout)
File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.6/urllib/request.py", line 532, in open
response = meth(req, response)
File "/usr/lib/python3.6/urllib/request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.6/urllib/request.py", line 570, in error
return self._call_chain(*args)
File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/lib/python3.6/urllib/request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ubuntu/venv_language/lib/python3.6/site-packages/ksql/client.py", line 63, in query
yield from process_query_result(results, return_objects)
File "/home/ubuntu/venv_language/lib/python3.6/site-packages/ksql/utils.py", line 100, in process_query_result
yield from results
File "/home/ubuntu/venv_language/lib/python3.6/site-packages/ksql/api.py", line 113, in query
endpoint="query", sql_string=query_string, stream_properties=stream_properties
File "/home/ubuntu/venv_language/lib/python3.6/site-packages/ksql/api.py", line 178, in _request
raise KSQLError(content.get("message"), content.get("error_code"), content.get("stackTrace"))
ksql.errors.KSQLError: ('HTTP 415 Unsupported Media Type', None, ['org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.getMethodRouter(MethodSelectingRouter.java:478)', 'org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.access$000(MethodSelectingRouter.java:94)', 'org.glassfish.jersey.server.internal.routing.MethodSelectingRouter$4.apply(MethodSelectingRouter.java:779)', 'org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.apply(MethodSelectingRouter.java:371)', 'org.glassfish.jersey
Это информация о сервере KSQL
{ KsqlServerInfo: { version: "0.13.0", kafkaClusterId: "NXj5kHsORuCShpGsZWMvKg", ksqlServiceId: "confluent_rmoff_01", serverStatus: "RUNNING" } }
Я не нашел в Интернете большой помощи по этому поводу. Кто-нибудь может мне здесь помочь, если я делаю что-то не так?
Спасибо
pip install ksql
@RobinMoffatt - person iamabhaykmr   schedule 12.01.2021