关注互联网应用及运维技术的个人博客

B-I更快捷的BI数据开发工具

B-I简介

BI tools for data developer use Python Language. 更快捷的BI数据开发工具。用python封装了一些BI人员常用的工具,比如说:HIVE、MySQL、ElasticSearch等,旨在消除复发的数据库逻辑。导入即可查。

快速用法

B-I安装

pip3 install b-i

修改数据库配置文件

vim ~/.b-i

快速查询

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 数据开发工具包维护了三个操作对象,使用户无需关心任何数据库连接,关闭,套接字超时等,即用即查。

特性:被动连接,心跳检测,主动关闭、完整日志、异常补获等。

hive数据库操作对象:hive_client   
mysql数据库操作对象:mysql_client    
elasticsearch数据库操作对象:elastic_client

提供两个常用方法

# 返回数据集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完整例子

# 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)
    )

赞(0)
未经允许不得转载:飞天狒狒 » B-I更快捷的BI数据开发工具

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址