Kylin Python 客户端工具库

Apache Kylin Python 客户端工具库是基于Python可访问Kylin的客户端. 此工具库包含两个可使用原件. 想要了解更多关于此工具库信息请点击Github仓库.

  • Apache Kylin 命令行工具
  • Apache Kylin SQLAchemy方言

安装

请确保您python解释器版本在2.7+, 或者3.4+以上. 最方便安装Apache Kylin python客户端工具库的方法是使用pip命令
pip install --upgrade kylinpy

Kylinpy 命令行工具

安装完kylinpy后, 立即可以在终端下访问kylinpy

  1. $ kylinpy
  2. Usage: kylinpy [OPTIONS] COMMAND [ARGS]...
  3. Options:
  4. -h, --host TEXT Kylin host name [required]
  5. -P, --port INTEGER Kylin port, default: 7070
  6. -u, --username TEXT Kylin username [required]
  7. -p, --password TEXT Kylin password [required]
  8. --project TEXT Kylin project [required]
  9. --prefix TEXT Kylin RESTful prefix of url, default: /kylin/api
  10. --debug / --no-debug show debug infomation
  11. --api1 / --api2 API version; default is "api1"; "api1" 适用于 Apache Kylin
  12. --help Show this message and exit.
  13. Commands:
  14. auth get user auth info
  15. cube_columns list cube columns
  16. cube_desc show cube description
  17. cube_names list cube names
  18. model_desc show model description
  19. projects list all projects
  20. query sql query
  21. table_columns list table columns
  22. table_names list all table names

Kylinpy命令行工具示例

  1. 访问Apache Kylin
    kylinpy -h hostname -P 7070 -u ADMIN -p KYLIN --project learn_kylin --api1 --debug auth

  2. 访问选定cube所有的维度信息
    kylinpy -h hostname -P 7070 -u ADMIN -p KYLIN --project learn_kylin --api1 --debug cube_columns --name kylin_sales_cube

  3. 访问选定的cube描述
    kylinpy -h hostname -P 7070 -u ADMIN -p KYLIN --project learn_kylin --api1 --debug cube_desc --name kylin_sales_cube

  4. 访问所有cube名称
    kylinpy -h hostname -u ADMIN -p KYLIN --project learn_kylin --api1 --debug cube_names

  5. 访问选定cube的SQL定义
    kylinpy -h hostname -P 7070 -u ADMIN -p KYLIN --project learn_kylin --api1 --debug cube_sql --name kylin_sales_cube

  6. 列出Kylin中所有项目
    kylinpy -h hostname -P 7070 -u ADMIN -p KYLIN --project learn_kylin --api1 --debug projects

  7. 访问选定表所有的维度信息
    kylinpy -h hostname -P 7070 -u ADMIN -p KYLIN --project learn_kylin --api1 --debug table_columns --name KYLIN_SALES

  8. 访问所有表名
    kylinpy -h hostname -u ADMIN -p KYLIN --project learn_kylin --api1 table_names

  9. 访问所选模型信息
    kylinpy -h hostname -P 7070 -u ADMIN -p KYLIN --project learn_kylin --api1 --debug model_desc --name kylin_sales_model

Apache Kylin SQLAlchemy方言

任何一个使用SQLAlchemy的应用程序都可以通过此方言访问到Kylin, 您之前如果已经安装了kylinpy那么现在就已经集成好了SQLAlchemy Dialect. 请使用如下DSN模板访问Kylin

  1. kylin://<username>:<password>@<hostname>:<port>/<project>?version=<v1|v2>&prefix=</kylin/api>

SQLAlchemy 实例

测试Apache Kylin连接

  1. $ python
  2. >>> import sqlalchemy as sa
  3. >>> kylin_engine = sa.create_engine('kylin://username:password@hostname:7070/learn_kylin?version=v1')
  4. >>> results = kylin_engine.execute('SELECT count(*) FROM KYLIN_SALES')
  5. >>> [e for e in results]
  6. [(4953,)]
  7. >>> kylin_engine.table_names()
  8. [u'KYLIN_ACCOUNT',
  9. u'KYLIN_CAL_DT',
  10. u'KYLIN_CATEGORY_GROUPINGS',
  11. u'KYLIN_COUNTRY',
  12. u'KYLIN_SALES',
  13. u'KYLIN_STREAMING_TABLE']