B-I更快捷的BI数据开发工具
B-I简介
BI tools for data developer use Python Language. 更快捷的BI数据开发工具。用python封装了一些BI人员常用的工具,比如说:HIVE、MySQL、ElasticSearch等,旨在消除复发的数据库逻辑。导入即可查。
项目地址
https://github.com/cppla/b-i
快速用法
B-I安装
1 |
pip3 install b-i |
修改数据库配置文件
1 |
vim ~/.b-i |
快速查询
1 2 3 4 5 |
from b_i import hive_client hive_client.read_sql("show tables") from b_i import mysql_client mysql_client.read_sql("show tables") |
B-I详细说明
b-i 数据开发工具包维护了三个操作对象,使用户无需关心任何数据库连接,关闭,套接字超时等,即用即查。
特性:被动连接,心跳检测,主动关闭、完整日志、异常补获等。
1 2 3 |
hive数据库操作对象:hive_client mysql数据库操作对象:mysql_client elasticsearch数据库操作对象:elastic_client |
提供两个常用方法
1 2 |
read_sql() exec_sql() |
B-I使用例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# 返回数据集rvt可选tuple, list, dict, str # 无需连接和关闭数据库,b-i 自动维护 from b_i import hive_client hive_client.read_sql("your sql", rvt=dict) hive_client.exec_sql("insert into") from b_i import mysql_client mysql_client.read_sql("your sql", rvt=list) mysql_client.exec_sql("insert into") from b_i import elastic_client elastic_client.read_sql("your sql", rvt=tuple) elastic_client.exec_sql("insert into") |
B-I完整例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# coding: utf-8 import sys from b_i import hive_client, mysql_client from b_i.utils import time_diff ''' hive to mysql for bi ''' if __name__ == '__main__': dt =sys.argv[1] dt_1d = time_diff(dt, days=-1, format="%Y%m%d") now_1d = time_diff("now", days=-1, format="%Y%m%d") hive_sql = ''' select a,b,c from db where dt >= {} and dt<= {} and pt={} ; '''.format(dt_1d, dt, now_1d) mysql_client.exec_sql( "INSERT INTO cppla(`a`,`b`,`c`)VALUES(%s,%s,%s)", hive_client.read_sql(hive_sql) ) |
持续更新中,by: cpp.la