python 操作 hive

在使用Hadoop生态的时候需要使用脚本动态拼接hiveSQL来实现对数据的适应性操作。

在业务中使用了两种方式,下面做下记录:

1.使用hive -e 'sql '

2.JDBC方式

-- 第一种方式 使用 hive -e 来执行命令
-- 这种方式的有点是操作简单,无需其他关联操作,使用的模块时os
os.system('hive -e "select * from ..."')

-- 第二种适方式是JDBC
-- 先建立hive的连接,然后执行命令
-- 介绍一个三方包,以及简单的使用方式
三方模块:PyHive
依赖:sasl,thrift,thrift-sasl,PyHive,直接pip安装即可
使用:from pyhive import hive

conn = hive.Connection(host='192.162.1.1', port=10000, username='name', database=hive_db_name)
    cursor = conn.cursor()
    # 选择hive的执行引擎,默认为Tez,可选为mr
    # cursor.execute(set_hive_engine)
    cursor.execute(turnon_dynamic_partition)
    cursor.execute(set_par_num)
    cursor.execute(set_node_par_num)
    cursor.execute(insert_sql)

    cursor.close()

 

你可能感兴趣的:(hive)