Hive에 이미 "테이블"이 있다고 가정하면 다른 데이터베이스처럼 해당 테이블에 대한 "CREATE"문을 가져올 수있는 빠른 방법이 있습니까?
답변:
Hive 데이터베이스의 모든 테이블에 대해 테이블 ddl을 생성하고 나중에 실행할 수 있도록 텍스트 파일로 내보내는 단계 :
1 단계) hive_table_ddl.sh와 같이 아래 내용으로 .sh 파일을 만듭니다.
#!/bin/bash
rm -f tableNames.txt
rm -f HiveTableDDL.txt
hive -e "use $1; show tables;" > tableNames.txt
wait
cat tableNames.txt |while read LINE
do
hive -e "use $1;show create table $LINE;" >>HiveTableDDL.txt
echo -e "\n" >> HiveTableDDL.txt
done
rm -f tableNames.txt
echo "Table DDL generated"
2 단계) 'db name'을 paramanter로 전달하여 위의 셸 스크립트를 실행합니다.
>bash hive_table_dd.sh <<databasename>>
출력 :
DB의 모든 테이블 생성 문은 HiveTableDDL.txt에 작성됩니다.
형식화 / 확장 설명은 하이브에있는 테이블의 데이터 정의를 표시합니다.
hive> describe Formatted dbname.tablename;