Pinot的Python DB-API和SqlAlchemy方言。
pinotdb的Python项目详细描述
pinot的python db-api和sqlalchemy方言
此模块允许通过其SQL API访问pinot。
用法
使用db api:
frompinotdbimportconnectconn=connect(host='localhost',port=8099,path='/query',scheme='http')curs=conn.cursor()curs.execute(""" SELECT place, CAST(REGEXP_EXTRACT(place, '(.*),', 1) AS FLOAT) AS lat, CAST(REGEXP_EXTRACT(place, ',(.*)', 1) AS FLOAT) AS lon FROM places LIMIT 10""")forrowincurs:print(row)
使用sqlalchemy:
fromsqlalchemyimport*fromsqlalchemy.engineimportcreate_enginefromsqlalchemy.schemaimport*engine=create_engine('pinot://localhost:8099/query?server=http://localhost:9000/')# uses HTTP by default :(# engine = create_engine('pinot+http://localhost:8099/query?server=http://localhost:9000/')# engine = create_engine('pinot+https://localhost:8099/query?server=http://localhost:9000/')places=Table('places',MetaData(bind=engine),autoload=True)print(select([func.count('*')],from_obj=places).scalar())