Query Crate Database от SQLAlchemy Dialect: серверы недоступны - PullRequest
0 голосов
/ 20 июня 2019

Я бы хотел попробовать его с ящиком.Сначала я попробовал, загрузив некоторые данные из твиттера и успешно выполнив запрос из интерфейса администратора.Однако, когда я попытался сделать запрос с помощью SQLAlchemy, я получил следующую ошибку.

OperationalError: (crate.client.exceptions.ConnectionError) 
No more Servers available, exception from last server: HTTPConnectionPool(host='localhost', port=4200): 
Max retries exceeded with url: 
/_sql (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f51485b2c18>:
Failed to establish a new connection: [Errno 111] Connection refused'))
[SQL: SELECT * FROM tweets LIMIT 100; ]

(Background on this error at: http://sqlalche.me/e/e3q8)

Это код, который я запустил, который вызвал ошибку.

from crate import client
import sqlalchemy as sa
import pandas as pd

engine = sa.create_engine('crate://localhost:4200')
query = (
            "SELECT * "
            "FROM tweets "
            "LIMIT 100; "
    )
df = pd.read_sql(query, engine)

Есть идеи, как это исправить (все настройки по умолчанию)?


Обновление:

Ящик работает нахост-система, в то время как Jupyter работает в контейнере на той же машине.Я могу получить доступ к Crate через "http://localhost:4200" на хост-компьютере, но не могу" http://xxx.xxx.xxx.xxx:4200" с другой машины в том же режиме.

Я пробовал оба:

engine = sa.create_engine('crate://10.7.116.222:4200')
engine = sa.create_engine('crate://')

, которая вызвала ту же ошибку:

Removed server http://127.0.0.1:4200 from active pool
Removed server http://127.0.0.1:4200 from active pool
OperationalError: (crate.client.exceptions.ConnectionError) 
No more Servers available, exception from last server: 
HTTPConnectionPool(host='127.0.0.1', port=4200): 
Max retries exceeded with url: 
/_sql (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5147faaa58>: 
Failed to establish a new connection: [Errno 111] Connection refused'))
[SQL: SELECT * FROM tweets LIMIT 10; ]
(Background on this error at: http://sqlalche.me/e/e3q8) 

1 Ответ

0 голосов
/ 24 июня 2019

Я не пробовал, но в соответствии с документацией предполагается localhost: 4200, чтобы вы могли подключиться, используя engine = sa.create_engine('crate://')

...