-
使用第三方包pyhive。
from pyhive import hive
import pandas as pd
import sys
reloar(sys)
sys.setdefaultencoding('utf8')
def LinkHive(sql_select):
connection = hive.Connection(host='主机名')
cursor = connection.cursor()
cursor.execute(sql_select)
columns = [col[0] for col in cursor.description]
result = [dict(zip(columns, row)) for row in cursor.fetchall()]
Main = pd.DataFrame(result)
Main.columns = columns
return Main
sql = "select * from 表 t"
df = LinkHive(sql)
-
python上传数据到Hive,使用os.system命令
这里以linux为例,我的操作系统为linux
1.linux命令 show create table 表名,查看表名在本地的位置。复制下来。
2.确定好命令,将hdfs上的文件上传到hive.
命令为:hdfs dfs -put 数据文件 table表名本地位置。
3.在python中加入os.system(命令)来运行Linux命令。
如os.system(hdfs dfs -put 数据文件 table表名本地位置)
FINISH!