การใช้งาน Apache Hive
คุณสามารถใช้งาน Hive ได้หลายวิธีขึ้นอยู่กับภาระงานของคุณ
- หากคุณต้องการ Query ข้อมูลเพื่อศึกษาหรือหาความสัมพันธ์ ใช้ Hive ผ่าน Cloudera Hue
- หากคุณต้องการพัฒนา Spark Application ที่ติดต่อกับ Hive ใช้ Hive ผ่าน Apache Spark
- หากคุณต้องการพัฒนา Data Pipeline ที่จะต้อง Interface กับ Hive ใช้ Hive ผ่าน Apache Airflow
- หากคุณต้องทำงานบน Command Line ใช้ Hive Shell ผ่าน Data Platform Server
การใช้งาน Hive ผ่าน Cloudera Hue
คุณสามารถศึกษาวิธีการ Query Hive ด้วย SQL พร้อมวิธีการตั้งค่าต่างๆ ที่ คู่มือการใช้งาน Cloudera Hue
การใช้งาน Hive ผ่าน Apache Spark
คุณสามารถศึกษาวิธีการ Query Hive ผ่าน Spark CLI หรือ PySpark Script ได้ที่ คู่มือการใช้งาน Apache Spark
การใช้งาน Hive ผ่าน Apache Airflow
คุณสามารถศึกษาวิธีการตั้งค่าและพัฒนา DAG ที่ติดต่อกับ Hive ได้ที่ คู่มือการใข้งาน Apache Airflow
การใช้งาน Hive Shell
การ Login เข้าใช้งาน
เปิดโปรแกรม Microsoft PowerShell (ปกติจะติดตั้งอยู่บน Windows แล้ว), Microsoft Terminal หรือ MobaXterm จากนั้นพิมพ์คำสั่งด้านล่างเพื่อ Login เข้า Data Platform ใช้ Password เดียวกับระบบ AD (ชุดเดียวกับที่ใช้ Login WiFi กฟน.)
ssh <รหัสพนักงาน>@dpc-cdr-u1.mea.or.th
ตัวอย่างเช่น พนักงานรหัส
2237007
สามารถเข้าใช้งานด้วยการใช้คำสั่งssh 2237007@dpc-cdr-u1.mea.or.th
หลังจากใส่ Password คุณจะเห็น Prompt สำหรับการทำงาน
พิมพ์คำสั่งด้านล่างเพื่อขอ Ticket ในการใช้ Services ต่างๆจากระบบความปลอดภัย Kerberos เมื่อระบบถามพาสเวิร์ด ให้ใส่พาสเวิร์ดจากระบบ AD
kinit <รหัสพนักงาน>@MEANET.MEA.OR.TH
ตัวอย่างเช่น พนักงานรหัส
2237007
ขอ Ticket ด้วยคำสั่งkinit 2237007@MEANET.MEA.OR.TH
ตรวจสอบสถานะ Ticket ด้วยคำสั่ง
klist
ตามรูป
การใช้งาน Interactive Hive Shell
ที่ Prompt พิมพ์คำสั่ง
beeline
เพื่อเข้าใช้งาน Hive Shell จะเห็นรายละเอียดด้านล่างคุณสามารถเขียน SQL Code ได้ที่ Command Prompt ตัวอย่างเช่น ต้องการแสดงรายการ Database ที่มีในระบบให้พิมพ์
สิทธิ
คุณจะเห็นเฉพาะ Databases และ Tables ที่คุณได้รับสิทธิเท่านั้น
SHOW DATABASES;
ผลลัพธ์
หากคุณต้องการเลิกใช้งานให้พิมพ์คำสั่ง
!quit
ตัวอย่าง - Query Data Engineering Database
Database ชื่อ airflow
เป็น Database ที่ Data Engineer จากหลายหน่วยงานจัดทำข้อมูล คุณสามารถเลือกและค้นข้อมูลในฐานข้อมูลนี้ด้วยคำสั่ง
USE airflow;
SHOW TABLES;
ทดลอง Query ข้อมูลสรุปสภาพอากาศด้วยคำสั่ง
SELECT
province,
MIN(temp) as min_temp,
AVG(temp) as avg_temp,
MAX(temp) as max_temp
FROM weather
GROUP BY province;
ตัวอย่าง - Query รายละเอียดตาราง
หากคุณต้องการทราบว่าในตารางมี Columnอะไรบ้าง ประเภทข้อมูลแบบใด คุณสามารถใช้คำสั่งด้านล่างในการตรวจสอบ ในบางกรณี Data Engineer จะกรอกข้อมูลเพิ่มเติมในช่อง Comment เพื่อช่วยในการทำความเข้าใจข้อมูลมากขึ้น
DESCRIBE egat_billing;
ตัวอย่าง - Query ข้อมูลขนาดใหญ่
ข้อมูลในตาราง idd_payment
มีขนาดประมาณ 50GB คุณสามารถ Query ข้อมูลขนาดใหญ่เหล่านี้ ด้วย SQL ได้ตามปกติ ระบบ Data Platform จะบริหารจัดการทรัพยากรที่ใช้ให้คุณโดยอัตโนมัติ ตัวอย่างเช่น เราสามารถ Query ข้อมูลจำนวน Transaction แบ่งตามปี ได้ดังนี้
SELECT
year(clearing_date) as `year`,
COUNT(*) as tx_count
FROM idd_payment
GROUP BY year(clearing_date);