import pyhive as hive
import pandas as pd
"""
sql: 需要在hive当中执行的sql语句
file_columns: 查询的文件列名
group_columns: 分组列名,除此之外的列会做数字化处理
"""
def get_frame_from_pyhive(sql, file_columns, group_columns):
try:
conn = hive.connect(host="127.0.0.1", port=10000, database="database_name")
df = pd.read_sql(sql, conn)
df.columns = file_columns
num_cols = list(set(file_columns) - set(group_columns))
df[num_cols] = df[num_cols].apply(pd.to_numeric, **{'errors': 'coerce'})
conn.close()
except Exception as e:
print(e)
df = pd.DataFrame(columns=file_columns)
return df
Python使用pyhive从hive直接查询数据到dataframe
最新推荐文章于 2024-07-02 10:24:12 发布
该篇文章介绍了如何通过Python的pyhive库连接到Hive数据库,执行SQL查询,将非分组列转换为数值类型,并处理可能的异常情况,最后返回DataFrame对象。
摘要由CSDN通过智能技术生成