Python连接星环数仓取数

2024-04-17 18:31:10 浏览数 (1)

一、导入库

首先来看下python连接数仓需要导入的库,具体代码如下:
代码语言: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”模块相关文

0 人点赞