from IPython.display import Image
import numpy as np
import pandas as pd
from datetime import datetime
import time
import subprocess
import shlex
from io import BytesIO
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
from datetime import datetime
from pytz import timezone
import re
def del_colnpoint(strr):
if '.' in list(strr):
return strr.split('.')[1]
else:
return strr
def run_sql(cmd):
cmd = 'set hive.cli.print.header=true;' + cmd
hivecmd='hive -S -e ' + '"{0}"'.format(cmd)
args = shlex.split(hivecmd)
coutput = subprocess.run(args, stdout=subprocess.PIPE)
if coutput.returncode != 0:
print("select data error!")
print(coutput.stderr)
return None
else:
data = pd.read_csv(BytesIO(coutput.stdout), sep='\t', low_memory=False, error_bad_lines=False)
data.columns = [del_colnpoint(strr) for strr in data.columns]
print('本DataFrame的行数为:'+str(data.shape[0]))
print('本DataFrame的列数为:'+str(data.shape[1]))
return data
print("Run End: ", datetime.today().astimezone(timezone('Asia/Shanghai')))
def run_sql_f(f):
hivecmd='hive -S -f {}'.format(f)
args = shlex.split(hivecmd)
coutput = subprocess.run(args, stdout=subprocess.PIPE)
if coutput.returncode != 0:
print("select data error!")
print(coutput.stderr)
return None
else:
data = pd.read_csv(BytesIO(coutput.stdout), sep='\t', low_memory=False, error_bad_lines=False)
data.columns = [del_colnpoint(strr) for strr in data.columns]
return data
r_sql
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 Google Play应用市场对于应用的targetSdkVersion有了更为严格的要求。从 2018 年...