Python连接星环数仓取数

文摘   教育   2024-04-13 16:01   广东  

有公众号群的小伙伴问我,有没有实现python连接星环数仓取数的代码,刚好有用,就做了一下分享。

可能别的小伙伴也有需求,故分享到公众号中,感兴趣的小伙伴可以跟着实现一下。

之前的文章分享了python连接sql取数和实现自动化发邮件代码,感兴趣的朋友可以翻看:【最全】Python连接数据库取数与写入数据【干货】用Python每天定时发送监控邮件

实现星环数仓取数的代码比较简单,主要步骤包括导入库、连接数仓、定义跑数sql脚本、执行sql脚本获取数据。

接下来我们一一展示。

本文目录
  1. 导入库

  2. 连接数仓

  3. 定义跑数sql脚本

  4. 执行sql脚本获取数据

  5. 全量代码


一、导入库

首先来看下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_engine
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()#连接数仓
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
user_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中的函数,持续更新。。。

一文囊括Python中的有趣案例,持续更新。。。

【评分卡实现】应用Python中的toad.ScoreCard函数实现评分卡

【Python常用函数】一文让你彻底掌握Python中的toad.quality函数

【Python数据挖掘】应用toad包中的KS_bucket函数统计好坏样本率、KS值



限时免费进群

19967879837

添加微信号、手机号

阿黎逸阳的代码
阿黎逸阳,分享大数据和人工智能领域知识,提供风控建模干货经验。 博主履历:世界五百强公司、互联网上市公司、高校、外资银行,多年研究大数据分析、建模以及教学工作。
 最新文章