雅典娜数据库的cli。具有自动完成和语法突出显示功能。
athenacli的Python项目详细描述
简介
athenacli是Athena服务的命令行界面(cli),它可以执行自动完成和语法突出显示,是dbcli社区的骄傲成员。
快速启动
安装
如果您已经知道如何安装python包,那么您只需执行以下操作:
$ pip install athenacli
如果您不知道如何安装python软件包,请查看Install页面以获取更多选项(例如brew、docker)
配置
第一次启动时,~/.athenacli/athenaclirc
会自动创建配置文件(运行athenacli)。有关所有可用选项的说明,请参见文件本身。
以下4个变量是必需的。如果您是aws cli的用户,则可以参考awsconfig文件来了解如何重用aws cli的凭据配置。
# AWS credentials aws_access_key_id = '' aws_secret_access_key = '' region = '' # e.g us-west-2, us-east-1 # Amazon S3 staging directory where query results are stored. # NOTE: S3 should in the same region as specified above. # The format is 's3://<your s3 directory path>' s3_staging_dir = ''
或者也可以使用环境变量:
$ exportAWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID $ exportAWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY $ exportAWS_DEFAULT_REGION=us-west-2 $ exportAWS_ATHENA_S3_STAGING_DIR=s3://YOUR_S3_BUCKET/path/to/
创建表格
$ athenacli -e examples/create_table.sql
你可以找到examples/create_table.sql
here。
运行查询
$ athenacli -e 'select elb_name, request_ip from elb_logs LIMIT 10'
回复
$ athenacli [<database_name>]
功能
- 键入SQL关键字以及数据库中的表和列时自动完成。
- 语法突出显示。
- 智能完成将建议上下文相关的完成。
SELECT * FROM <tab>
只显示表名。SELECT * FROM users WHERE <tab>
只显示列名。
- pretty打印表格数据和各种表格格式。
- 一些特殊的命令。例如,最喜欢的查询。
- 别名支持。即使表名有别名,列的完整性也会起作用。
以上功能的截图请参考Features页面。
用法
$ athenacli --help Usage: main.py [OPTIONS][DATABASE] A Athena terminal client with auto-completion and syntax highlighting. Examples: - athenacli - athenacli my_database Options: -e, --execute TEXT Execute a command(or a file) and quit. -r, --region TEXT AWS region. --aws-access-key-id TEXT AWS access key id. --aws-secret-access-key TEXT AWS secretaccess key. --s3-staging-dir TEXT Amazon S3 staging directory where query results are stored. --athenaclirc PATH Location of athenaclirc file. --help Show this message and exit.
有关如何使用athenacli的详细信息,请转到Usages。
贡献
如果你有兴趣为这个项目做贡献,首先我要表示衷心的感谢。我已经写了一个小的doc来描述如何在开发设置中运行它。
如果你需要帮助,请随时联系我。我的邮箱:gmail com上的zhuzhaolong0
常见问题
请参阅FAQs了解其他信息,例如“如何获得对Athenacli的支持?”.
学分
特别感谢Amjith Ramanujam创建了pgcli和mycli,这启发了我创建这个athenacli,而athenacli是基于mycli的克隆创建的。
感谢Jonathan Slenders创建了Python Prompt Toolkit,这使我找到了pgcli和mycli。玩这个图书馆很有趣。
感谢PyAthena为Athena数据库提供了纯Python适配器。
最后但并非最不重要的是,感谢我的团队和经理鼓励我从事这个爱好项目。
类似项目
- guardian/athena-cli:用于aws athena的类似presto的cli工具。
- pengwynn/athena-cli:用于amazon athena的cli,由jruby提供支持。