python 读取Hive数据,和上传数据到hive

  • 使用第三方包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!

 

 

你可能感兴趣的:(python 读取Hive数据,和上传数据到hive)