时间:2021-05-22
这篇文章主要介绍了如何在python中写hive脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、直接执行.sql脚本
import numpy as npimport pandas as pdimport lightgbm as lgbfrom pandas import DataFramefrom sklearn.model_selection import train_test_splitfrom io import StringIOimport gcimport sysimport oshive_cmd = "hive -f ./sql/sql.sql"output = os.popen(hive_cmd)data_cart_prop = pd.read_csv(StringIO(unicode(output.read(),'utf-8')), sep="\t",header=0)2、Hive语句执行
假如有如下hive sql:
hive_cmd = 'hive -e "select count(*) from hbase.routermac_sort_10;"'
一般在python中按照如下方式执行该hive sql:
os.system(hive_cmd)
---------------------
hive_cmd1 = "hive -f ./user.sql"output1 = os.popen(hive_cmd1)test_user = pd.read_csv(StringIO(unicode(output1.read(),'utf-8')), sep="\t",header=0) hive_cmd2 = "hive -f ./action.sql"output2 = os.popen(hive_cmd2)test_action = pd.read_csv(StringIO(unicode(output2.read(),'utf-8')), sep="\t",header=0) hive_cmd3 = "hive -f ./click.sql"output3 = os.popen(hive_cmd3)test_click = pd.read_csv(StringIO(unicode(output3.read(),'utf-8')), sep="\t",header=0)为了显示表头,在脚本中加上一句:set hive.cli.print.header=true;
或者,使用如下语句:
hive_cmd = 'hive -e "set hive.cli.print.header=true;SELECT * FROM dev.temp_dev_jypt_decor_user_label_phase_one_view_feature WHERE(dt = "2018-09-17");"'output = os.popen(hive_cmd)data_cart_prop = pd.read_csv(StringIO(unicode(output.read(),'utf-8')), sep="\t",header=0)3、tf 显存占用
import tensorflow as tftf.enable_eager_execution()x = tf.get_variable('x', shape=[1], initializer=tf.constant_initializer(3.))with tf.GradientTape() as tape: y = tf.square(x) y_grad = tape.gradient(y, x) print([y.numpy(), y_grad.numpy()])以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们大多数人都希望写一些简单的python脚本的同时都想能够在程序运行的过程中实现进度条的功能以便查看程序运行的速度或者进度。今天就和大家探讨这个问题:如何在p
一般来说,我们会将自己写的Python模块与python自带的模块分开存放以达到便于维护的目的。那么如何在Python中添加自定义的模块呢?在解答这个问题之前,
mysql可以使用nevicat导出insert语句用于数据构造,但是hive无法直接导出insert语句。我们可以先打印在hive命令行,然后使用脚本拼装成i
用Python写运维脚本时,经常需要执行linuxshell的命令,Python中的commands模块专门用于调用Linuxshell命令,并返回状态和结果,
经常写shell脚本知道,字符串判断可以用=,!=数字的判断是-eq,-ne等,但是Python确不是这样子的。所以作为慢慢要转换到用Python写脚本,这些基