สมมติว่าคุณมี "ตาราง" อยู่แล้วใน Hive มีวิธีที่รวดเร็วเหมือนกับฐานข้อมูลอื่น ๆ ในการรับคำสั่ง "สร้าง" สำหรับตารางนั้นหรือไม่?
สมมติว่าคุณมี "ตาราง" อยู่แล้วใน Hive มีวิธีที่รวดเร็วเหมือนกับฐานข้อมูลอื่น ๆ ในการรับคำสั่ง "สร้าง" สำหรับตารางนั้นหรือไม่?
คำตอบ:
ในฐานะของ Hive 0.10นี้แพทช์ 967การดำเนินการSHOW CREATE TABLE
ที่ "แสดงให้เห็นว่าCREATE TABLE
คำสั่งที่สร้างตารางที่กำหนดหรือCREATE VIEW
คำสั่งที่สร้างมุมมองที่ได้รับ."
การใช้งาน:
SHOW CREATE TABLE myTable;
ขั้นตอนในการสร้างสร้างตาราง DDL สำหรับตารางทั้งหมดในฐานข้อมูล Hive และส่งออกเป็นไฟล์ข้อความเพื่อเรียกใช้ในภายหลัง:
ขั้นตอนที่ 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' เป็นพารามิเตอร์
>bash hive_table_dd.sh <<databasename>>
เอาต์พุต:
คำสั่ง create table ทั้งหมดของ DB ของคุณจะถูกเขียนลงในไฟล์ HiveTableDDL.txt
อธิบายรูปแบบ / ขยายจะแสดงนิยามข้อมูลของตารางในกลุ่ม
hive> describe Formatted dbname.tablename;