我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python执行hive sql

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python执行hive sql

该python脚本是用于执行hive脚本的,需要设置hive的可执行环境变量,其实质转化为shell下命令 hive -e 'sql语句’ 的方式执行,然后把结果重定向到控制台显示。注:由于该脚本是直接调用shell中的hive命令,所以需要在安装hive的服务器上执行。

使用前置条件:(1)安装hadoop和hive,并启动完hadoop;(2)已配置好hive的环境变量,确保在shell中能正常执行hive。

#!/usr/bin/python
#-*-coding:utf-8 -*-

import subprocess
import traceback

sql = """
# 书写hql脚本
;
"""
cmd = 'hive -e """'+sql.replace('"', "\'")+'"""'
print cmd
try:
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    while True:
        buff = p.stdout.readline()
        print buff
        if buff == '' and p.poll() != None:
            break

except Exception,re:
    print "message is:%s" %(str(re))
    traceback.print_exc();

脚本举例

#!/usr/bin/python
#-*-coding:utf-8 -*-
import subprocess
import traceback
sql = """
  select * from app_tianhe_zym_item_reason_dtl_da where order_dt = '2016-01-26' limit 10;
"""
cmd = 'hive -e """'+sql.replace('"', "\'")+'"""'
print cmd
try:
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    while True:
        buff = p.stdout.readline()
        print buff
        if buff == '' and p.poll() != None:
            break
except Exception,re:
    print "message is:%s" %(str(re))
    traceback.print_exc();

这里写图片描述

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python执行hive sql

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python执行hive sql

该python脚本是用于执行hive脚本的,需要设置hive的可执行环境变量,其实质转化为shell下命令 hive -e 'sql语句’ 的方式执行,然后把结果重定向到控制台显示。注:由于该脚本是直接调用shell中的hive命令,所以
2023-01-31

Hive中动态SQL执行的方法是什么

在Hive中执行动态SQL语句的方法是使用Hive的变量和脚本功能。可以通过设置变量来动态构建SQL语句,然后通过Hive的shell或脚本来执行这些动态SQL语句。例如,可以使用Hive的set命令来设置变量,然后在SQL语句中引用这些
Hive中动态SQL执行的方法是什么
2024-04-09

shell命令执行hive脚本(hive交互)

目录Hive执行方式方式1方式二方式三Hive执行方式 Hive的hql命令执行方式有三种: 1、CLI 方式直接执行2、作为字符串通过shell调用hive –e执行(-S开启静默,去掉”OK”
2022-06-05

python执行sql文件

最近遇到一对需要执行的sql文件,sql文件内是insert 语句。如下:INSERT INTO hs_his.stock_industry VALUES ('采掘', '000006', '深振业A');INSERT INTO hs_hi
2023-01-31

python 批量执行sql文件

需求: 要在服务器上指执行sql 为了不影响线上用户正常使用,且执行10000行暂停10秒。然后用python 写了这样一个文件文件存放位置: /root/sql/  文件名:2 3 4 5 6  .....这样做是为了省事 用 range
2023-01-31

Hive中并行执行是怎么工作的

在Hive中,并行执行是通过将任务分解成多个子任务,并在集群中的多个节点上同时执行这些子任务来实现的。这样可以利用集群中的多个资源并行处理数据,提高作业的执行效率。Hive使用MapReduce来实现并行执行。在Hive中,查询会被转换为
Hive中并行执行是怎么工作的
2024-03-14

如何在Hive中执行JOIN操作

在Hive中执行JOIN操作的步骤如下:编写适当的SELECT语句,其中包含要连接的表以及连接条件。例如:SELECT * FROM table1JOIN table2ON table1.column_name = table2.co
如何在Hive中执行JOIN操作
2024-03-12
2024-04-02

Hive中怎么执行自定义MapReduce作业

在Hive中执行自定义MapReduce作业需要以下步骤:将自定义的MapReduce作业打包成jar文件,并上传到Hive所在的集群中。在Hive中创建一个外部表来引用这个jar文件,可以使用如下语句创建外部表:CREATE EXTERN
Hive中怎么执行自定义MapReduce作业
2024-03-14

Hive中如何执行数据压缩操作

Hive中可以通过设置表的属性来执行数据压缩操作。以下是在Hive中执行数据压缩的一般步骤:创建表时指定数据压缩格式在创建表的时候,可以通过设置表的属性来指定数据的压缩格式。例如,可以使用STORED AS关键字和TBLPROPERTIE
Hive中如何执行数据压缩操作
2024-03-12

Hive中的MapReduce任务是如何执行的

在Hive中,MapReduce任务的执行流程如下:Hive查询语句被解析成HiveQL,并被转换成MapReduce作业。Hive将MapReduce作业提交给Hadoop集群的YARN ResourceManager。YARN Re
Hive中的MapReduce任务是如何执行的
2024-03-12

怎么提升Hive查询的执行速度

要提升Hive查询的执行速度,可以考虑以下几点:数据分区:根据数据的特点进行分区,可以减少查询的数据量,提高查询效率。数据压缩:可以对数据进行压缩存储,减少磁盘IO,提高查询速度。数据合并:合并小文件可以减少查询时的IO操作,提高查询速度。
怎么提升Hive查询的执行速度
2024-04-03

怎么在Python中执行SQL、Excel任务

怎么在Python中执行SQL、Excel任务,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。01 导入数据你可以导入.sql 数据库并用 SQL 查询中处理它们
2023-06-15

MySql定时执行SQL

好久没写博客了,因为没啥可写,感觉自己对技术的追求已经没有那么强烈了。今天总结一下mysql自带的定时计划。 首先show variables like '%event_sche%';查询定时策略是否开启,如果是关闭的话,需要先开启哦
2023-08-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录