正在找可视化查询数据的工具,由于日常sql写的多,就再找有没有工具可以直接写sql就能查出来,果真有一款工具可以写sql opendistro-for-elasticsearch/,之前用浏览器插件ElasticSearch Head,发现不灵活以后,过段换成了这个。
安装的时候遇到了问题,我的是mac pro,python3.8环境,运行提示:
❯ odfesql
Traceback (most recent call last):
File "/Users/lijshu/venv/bin/odfesql", line 5, in <module>
from odfe_sql_cli.main import cli
File "/Users/lijshu/venv/lib/python3.9/site-packages/odfe_sql_cli/main.py", line 21, in <module>
from .esconnection import ESConnection
File "/Users/lijshu/venv/lib/python3.9/site-packages/odfe_sql_cli/esconnection.py", line 22, in <module>
from elasticsearch import Elasticsearch, RequestsHttpConnection
File "/Users/lijshu/venv/lib/python3.9/site-packages/elasticsearch/__init__.py", line 24, in <module>
from .client import Elasticsearch
File "/Users/lijshu/venv/lib/python3.9/site-packages/elasticsearch/client/__init__.py", line 5, in <module>
from ..transport import Transport
File "/Users/lijshu/venv/lib/python3.9/site-packages/elasticsearch/transport.py", line 5, in <module>
from .connection import Urllib3HttpConnection
File "/Users/lijshu/venv/lib/python3.9/site-packages/elasticsearch/connection/__init__.py", line 2, in <module>
from .http_requests import RequestsHttpConnection
File "/Users/lijshu/venv/lib/python3.9/site-packages/elasticsearch/connection/http_requests.py", line 3, in <module>
from base64 import decodestring
ImportError: cannot import name 'decodestring' from 'base64' (/usr/local/Cellar/python@3.9/3.9.1_1/Frameworks
解决办法:
- upgrade elasticsearch-py dependency from 7.5.1 to 7.10.1
-
pip3 uninstall elasticsearch==7.5.1
-
pip3 install elasticsearch
备注:可能是我笔记本环境之前有一些别的包冲突导致,最后安装成功运行,能查询数据了。
