hive数据表结构导出到文件

本文介绍了如何使用Hive的desc命令将数据表的字段信息详细导出到文件,以便进一步进行外部的数据处理和分析工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过hive的desc命令把数据表字段写到文件中,方便外部数据处理。

#!/bin/bash
    
set -o nounset
    
if [[ $# -eq 0 ]]; then
    echo need at least 1 paramter for hive table name
    exit 1
fi      
    
HIVE_HOME=${HIVE_HOME:-/sysdir/hive-0.11}
    
tablename="$1"
tabledef="stdin : "
seperator=""
${HIVE_HOME}/bin/hive -e "desc ${tablename}" | awk '{print $1}' > gentabledeftemp.txt 
while read fieldline
do
    tabledef="${tabledef}""${seperator}""${fieldline}"
    seperator=","
    #echo "${tabledef}"
done < gentabledeftemp.txt
echo "${tabledef}"

while [[ $# -gt 0 ]]
do
    tablename="$1"
    tabledef="${tablename} : "
    seperator=""
    ${HIVE_HOME}/bin/hive -e "desc ${tablename}" | awk '{print $1}' > gentabledeftemp.txt
    while read fieldline
    do
        tabledef="${tabledef}""${seperator}""${fieldline}"
        seperator=","
        #echo "${tabledef}"
    done < gentabledeftemp.txt
    echo "${tabledef}"
    shift
done

rm gentabledeftemp.txt


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值