Hive get table rows count batch

项目中需要比对两种方法计算生成的数据情况,需要做两件事情,比对生成的中间表的行数是否相同,比对最后一张表的数据是否一致。

在获取表的数据量是一条一条地使用select count(*) from table来获取等待结果比较烦人,所以就写了一个bash shell来做这件事。

但一开始是这样的:

for line in $(cat tables.txt)
do
	echo "tablename :$line";
	value=$(hive --database databasename --hiveconf v=v1 -S -e "select count(*) from $line;")
	echo "rows count:$value"
done; 
这样只要准备好tables.txt即可。
使用时./count_tables.sh >counter.txt
但后来发现表一多,这样等待还是很漫长。
后来想到可以使用并发进和查询。遂改成如下:
while read line;
do
eval "hive --database databasename -S -e ‘select \"$line" as tablename ,count(*) as rowcount from $line;‘ &"
done;
wait #wait all process to finish calculater

使用时

hive -e ‘show tables‘>tables.txt

./count_tables.sh <tables.txt >counter.txt

时间: 2024-12-28 01:42:16

Hive get table rows count batch的相关文章

Hive - Create Table&amp;Drop Table &amp; ALTER Table(中)

译注:书接上篇,了解过创建表以及load data后,假如发现需要更改表字段类型或者添加表字段,怎么办?这篇文章将进一步了解具体细节. This chapter explains how to alter the attributes of a table such as changing its table name, changing column names, adding columns, and deleting or replacing columns. Alter Table St

GridView.RowCount与DataTable.Rows.Count

'获取网格部件记录的条数msgbox(网格部件1.GridView.RowCount)'获取网格部件数据的行数msgbox(网格部件1.DataTable.Rows.Count) 在没有添加分组的情况下,这两条代码运行结果都为3,而如果有分组时,第一条运行结果为6,第二条运行结果为3:如下图所示 原文地址:http://bbs.delit.cn/thread-470-1-1.html 转载请注明出处: 撰写人:度量科技http://www.delit.cn

Hive - Create Table&amp;Drop Table &amp; ALTER Table(上)

写在前面:本来想着把表的创建,删除,以及修改一篇搞定的.结果看了一下,东西还是蛮多的,而且也是很多经常使用的操作.所以,就暂且分开处理吧. 特别提醒:在日常不管是创建库.表还是修改字段,删除等操作,建议都加上 [IF NOT EXISTS] | [IF EXISTS] 选项:虽然是可选项,但是还是小心为上,万一你在操作时没有加库名,又操作错了,那你哭都找不到地方. This chapter explains how to create a table and how to insert data

hive drop table命令没反应

问题:执行次命令没反应,表示空表 hive> drop table tt; 不多说,是因为mysql数据库字符集问题,解决办法把之前的库删掉,重新创建一个,并修改字符集为latin1 alter database hive character set latin1; 再次启动hive问题解决

Hive drop table batched

if the hive version not support drop table tablename purge. your drop table command will move data to .Trash in hdfs. dfs .Trash; drop table tablename; dfs .Trash/Current; #batch drop tables you want in hive. hive --database databaseName -e "show tab

hive parquet table 配置使用压缩

创建parquet table : create table mytable(a int,b int) STORED AS PARQUET; 创建带压缩的parquet table: create table mytable(a int,b int) STORED AS PARQUET TBLPROPERTIES('parquet.compression'='SNAPPY'); 如果原来创建表的时候没有指定压缩,后续可以通过修改表属性的方式添加压缩: ALTER TABLE mytable SE

asp.net实现动态添加table行

asp.net动态的生成,删除table的行,主要是在后台动态创建单元行,单元表格,效果图: 2.代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="releaseAffair.aspx.cs" Inherits="affair_releaseAffair" %> <!DOCTYPE html> <!--发布事务页面:名称Affa

DataReader、Table、DataSet和Entity相互转化

public class CommonService { #region DataReader转化 /// <summary> /// 将DataReader转化为Table /// </summary> /// <param name="reader"></param> /// <returns></returns> public static DataTable DataReaderToTable(SqlDat

从零开始编写自己的C#框架(6)——SubSonic3.0插件介绍(附源码)

原文:从零开始编写自己的C#框架(6)--SubSonic3.0插件介绍(附源码) 前面几章主要是概念性的东西为主,向初学者们介绍项目开始前的一些知识与内容,从本章开始将会进入实操阶段,希望跟着本系统学习的朋友认真按说明做好每一步操作(对于代码最好是直接照着文档内容在你的IDE中打一次出来,而不是使用复制粘贴),这样对你理解后面的章节会有较好的帮助,如果你对我这种书写方式有什么建议或支持,也希望在评论中留言,谢谢你的支持. SubSonic3.0简介 SubSonic是Rob Conery用c#