一、导入库
代码语言:javascript复制import pymysql
import jaydebeapi
import pandas as pd
from sqlalchemy import create_engine
如未安装,可自行百度用pip方法安装一下。
二、连接数仓
代码语言:javascript复制接下来定义连接数仓所需的基本信息,并应用jaydebeapi库连接数仓。其基本调用语法如下:
代码语言:javascript复制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脚本
代码语言:text复制接着定义跑数sql脚本,可根据需求进行定义。本文只是做展示用,只定义了简单的查询语句,具体代码如下:
sql1 = '''
select * from ods.ods_clx_asset_jld_asset_user_behavior_df
'''
#跑数sql1
sql2 = """
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 pymysql
import jaydebeapi
import pandas as pd
from 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
'''
#跑数sql1
sql2 = """
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”模块相关文