your programing

기존 하이브 테이블에 대한 create 문을 가져 오거나 생성하는 방법은 무엇입니까?

lovepro 2020. 10. 4. 12:52
반응형

기존 하이브 테이블에 대한 create 문을 가져 오거나 생성하는 방법은 무엇입니까?


Hive에 이미 "테이블"이 있다고 가정하면 다른 데이터베이스처럼 해당 테이블에 대한 "CREATE"문을 가져올 수있는 빠른 방법이 있습니까?


하이브 0.10로패치-967 구현 SHOW CREATE TABLE"을 보여줍니다 CREATE TABLE주어진 테이블, 또는 생성 문 CREATE VIEW주어진 뷰를 작성합니다 문을."

용법:

SHOW CREATE TABLE myTable;

Hive 데이터베이스의 모든 테이블에 대해 테이블 ​​ddl을 생성하고 나중에 실행하기 위해 텍스트 파일로 내보내는 단계 :

1 단계) 아래 내용으로 .sh 파일을 만듭니다. hive_table_ddl.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;

참고 URL : https://stackoverflow.com/questions/18134131/how-to-get-generate-the-create-statement-for-an-existing-hive-table

반응형