首页 > 数据库 > 数据库开发技术 > Python连接星环数仓取数
有公众号群的小伙伴问我,有没有实现python连接星环数仓取数的代码,刚好有用,就做了一下分享。
可能别的小伙伴也有需求,故分享到公众号中,感兴趣的小伙伴可以跟着实现一下。
之前的文章分享了python连接sql取数和实现自动化发邮件代码,感兴趣的朋友可以翻看:【最全】Python连接数据库取数与写入数据和【干货】用Python每天定时发送监控邮件。
实现星环数仓取数的代码比较简单,主要步骤包括导入库、连接数仓、定义跑数sql脚本、执行sql脚本获取数据。
接下来我们一一展示。
导入库
连接数仓
定义跑数sql脚本
执行sql脚本获取数据
全量代码

首先来看下python连接数仓需要导入的库,具体代码如下:
import pymysqlimport jaydebeapiimport pandas as pdfrom sqlalchemy import create_engine
如未安装,可自行百度用pip方法安装一下。

接下来定义连接数仓所需的基本信息,并应用jaydebeapi库连接数仓。 其基本调用语法如下:
url = 'jdbc:hive2://10.0.7.2:10001/fengxiantiaoxian'#需替换成你的用户名user = 'dw123'#用户名,需替换成你的用户名password = 'dw2022'#密码,需替换成你的密码dirver = 'org.apache.hive.jdbc.HiveDriver'jarFile = 'inceptor-driver-8.31.0.jar'#这个需替换成你的jar文件的路径conn = jaydebeapi.connect(dirver, url, [user, password], jarFile)curs=conn.cursor()#连接数仓
三、定义跑数sql脚本 接着定义跑数sql脚本,可根据需求进行定义。
本文只是做展示用,只定义了简单的查询语句,具体代码如下:
sql1 = '''select * from ods.ods_clx_asset_jld_asset_user_behavior_df'''#跑数sql1sql2 = """select * from ods.ods_clx_asset_jld_asset_bind_card_info_df"""#跑数sql2可根据需要定义多个sql语句。 四、执行sql脚本获取数据 最后,获取所需的数据,具体代码如下:
user_behavior = pd.read_sql_query(sql1, conn)#获取用户行为数据bind_card = pd.read_sql_query(sql2, conn)#获取用户绑卡数据其中user_behavior和bind_card即为所需数据。
五、全量代码 为了大家使用方便,本小节直接展示全量代码,具体如下:
import pymysqlimport jaydebeapiimport pandas as pdfrom sqlalchemy import create_engineurl = 'jdbc:hive2://10.0.7.2:10001/fengxiantiaoxian'#需替换成你的用户名user = 'dw123'#用户名,需替换成你的用户名password = 'dw2022'#密码,需替换成你的密码dirver = 'org.apache.hive.jdbc.HiveDriver'jarFile = 'inceptor-driver-8.31.0.jar'#这个需替换成你的jar文件的路径conn = jaydebeapi.connect(dirver, url, [user, password], jarFile)curs=conn.cursor()#连接数仓sql1 = '''select * from ods.ods_clx_asset_jld_asset_user_behavior_df'''#跑数sql1sql2 = """select * from ods.ods_clx_asset_jld_asset_bind_card_info_df"""#跑数sql2user_behavior = pd.read_sql_query(sql1, conn)#获取用户行为数据bind_card = pd.read_sql_query(sql2, conn)#获取用户绑卡数据至此,Python连接数仓已讲解完毕,如想了解更多Python中的函数,可以翻看公众号中“学习Python”模块相关文章。
【部分群限时免费进】分群讨论学习Python、玩转Python、风控建模【29.9元进】、人工智能、数据分析相关问题,还提供练习数据资料、招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如学习python。
【评分卡实现】应用Python中的toad.ScoreCard函数实现评分卡
【Python常用函数】一文让你彻底掌握Python中的toad.quality函数
【Python数据挖掘】应用toad包中的KS_bucket函数统计好坏样本率、KS值


限时免费进群
19967879837
添加微信号、手机号
原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。