通过表名和时间查看hive分区表的数据

[linux-]$  /home/script/listHive.py  ta_name_1002_user_search_log_day  20180626

#!/usr/bin/env python
# -*- coding: utf-8 -*-
##########################################
# 通过表名和时间查看hive分区表的数据
# len(sys.argv)--输入参数个数
# sys.argv[1] -- 表名
# sys.argv[2] -- 时间
# 创建者:df
# 创建日期:2018年06月25日
###############################################
import os
import sys

ll = len(sys.argv)
def pri(com):
    print("command: ‘%s‘" % com)
    os.system(com)
    sys.exit(0) 

if ll < 2:
    print(‘no parameter !‘)
    print(‘Please enter the format !‘)
    print("./l_hive.py tableName  [date]")
    sys.exit(1)
#获取表名
v_tablename = sys.argv[1]
command = "hadoop fs -ls  /apps/hive/warehouse/*/%s" % v_tablename
if ll == 2:
    pri(command)

v_time = sys.argv[2]
if ll > 2:
    # 获取时间长度
    len = len(v_time)
    if len <4:
        pri(command)
    else:
        num = len / 2 - 3 + 1
        for i in range(num):
            sublen = 6 + i * 2
            command = "%s/*=%s" % (command, v_time[0:sublen])
        pri(command)
else:
    print(‘Please enter the format !‘)
    print("./l_hive.py tableName  [date]")
    sys.exit(1)

原文地址:https://www.cnblogs.com/coding2018/p/9229806.html

时间: 2024-07-30 22:59:32

通过表名和时间查看hive分区表的数据的相关文章

SQL注入——知表名不知列明情景下查询数据

场景 有某些情况,可以查找到表名,但查找不到列名. MySQL < 5 或 web过滤 information_scema 详解 select `1` from (select 1,2,3,4,5,6,7,8,9,10,11,12,13 union select * from 表名)a limit 1,1 子查询中select的数目为列数. 通过列数 1,2,3... 再union带出整张表数据.这一步的目的是改变/替换字段名(替换为1,2,3,4...). 再通过select `1`带出第一列

MySQL数据表的创建、查看、插入

数据表:数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础. 1.首先我们打开一个数据库(这里我打开的是新创建的一个aaa数据库). 打开数据库:use + 数据库名; 2.开始创建一个表,表名定为tb1. 行称之为记录,列称之为字段. 创建一个为名字.年龄.工资的表 VARCHAR 为字符类型 20 为数量限制20个字符 age 为整型 UNSIGNED 为不需要负数. FLOAT(8,2) 为整数八位数,小数点后面保留两位.00000000.00 查看(数据库以存在): SHOW

mysql表名区分大小写问题

mysql表名区分大小写问题 查看mysql数据库大小写敏感参数 1.1. show variables like 'lower%';'' 参数说明 lower_case_table_names: 此参数不可以动态修改,必须重启数据库 lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写 lower_case_table_names = 0 表名存储为给定的大小和比较是区分大小写的 1.2 . 特别注意 需要注意的是,当 lower_case

hive表信息查询:查看表结构、表操作等--转

原文地址:http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=8590&highlight=Hive 问题导读:1.如何查看hive表结构?2.如何查看表结构信息?3.如何查看分区信息?4.哪个命令可以模糊搜索表? 1.hive模糊搜索表  show tables like '*name*'; 2.查看表结构信息  desc formatted table_name;  desc table_name; 3.查看分区信息  show p

hive表信息查询:查看表结构、表操作等

转自网友的,主要是自己备份下 有时候不记得! 问题导读:1.如何查看hive表结构?2.如何查看表结构信息?3.如何查看分区信息?4.哪个命令可以模糊搜索表 1.hive模糊搜索表 show tables like '*name*'; 2.查看表结构信息  desc formatted table_name;  desc table_name; 3.查看分区信息  show partitions table_name; 4.根据分区查询数据  select table_coulm from ta

查看hive中某个表中的数据、表结构及所在路径

查看hive中action_data_myisam表中的数据.表结构及所在路径 1.客户端进入hive环境:hive 2.查看表数据,鉴于数据量大,这里只显示前五条:select * from action_data_myisam limit 5; 3.查看表结构:desc action_data_myisam; 4.查看此表所在路径:describe extended action_data_myisam; 图1针对1.2.3步 图2 针对第4步 end!

MySQL 动态sql语句执行 用时间做表名

1. 描述 在使用数据的时候,我时候我们需要很多数据库,而且想用时间来做表名以区分.但是MySQL在存储过程中不支持使用变量名来做表名或者列名. 比如,有一个表我们想以"2015-07-16 12:00:00"命名. 2. 解决方案 如果只是更换一个普通的表名的话,很简单,直接使用下面sql语句即可: alter table old_table_name rename new_table_name 但是要以时间为表名,动态命名的话就不可以了.首先我们可以用NOW()函数获取系统当前的时

MySQL 动态sql语句运行 用时间做表名

1. 描写叙述 在使用数据的时候,我时候我们须要非常多数据库,并且想用时间来做表名以区分.可是MySQL在存储过程中不支持使用变量名来做表名或者列名. 比方,有一个表我们想以"2015-07-16 12:00:00"命名. 2. 解决方式 假设仅仅是更换一个普通的表名的话,非常easy.直接使用以下sql语句就可以: alter table old_table_name rename new_table_name 可是要以时间为表名,动态命名的话就不能够了.首先我们能够用NOW()函数

查看表名,表字段 结构

SELECT table_name, LEFT(column_names , LEN(column_names )-1) AS column_namesFROM information_schema.columns AS externCROSS APPLY( SELECT column_name + ',' FROM information_schema.columns AS intern WHERE extern.table_name = intern.table_name FOR XML P