Hive get table rows count batch
1710 단어 table
가 져 오 는 표 의 데 이 터 량 은 selection count (*) from table 을 사용 하여 기다 리 는 결 과 를 얻 는 것 이 귀 찮 기 때문에 bash 셸 을 써 서 이 일 을 했 습 니 다.
그러나 처음에는 이 랬 다.
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
但后来发现表一多,这样等待还是很漫长。
后来想到可以使用并发进和查询。遂改成如下:
myorder=1
while read line;
do
eval "hive --database databasename -S -e 'select \"$myorder\" as myorder, \"$line" as tablename ,count(*) as rowcount from $line;' &"
myorder=$(($myorder+1));
done;
wait #wait all process to finish calculater
사용 시
hive -e 'show tables'>tables.txt ./count_tables.sh
cat counter.txt | sort -n | awk '{print $3;}'
원본 순서에 따라 표 의 줄 수 를 표시 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vuetify에서 행 그룹화이 기사에서는 유사한 값으로 테이블의 행을 그룹화하는 방법에 대한 경험을 공유하고자 합니다. 물론 기본 그룹화 예제를 찾을 수 있지만 제 사용 사례에는 약간의 고급 기능이 필요했습니다. 제품 데이터가 있다고 가정합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.