Skip to main content

การใช้งาน Apache Hive

คุณสามารถใช้งาน Hive ได้หลายวิธีขึ้นอยู่กับภาระงานของคุณ

การใช้งาน 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 เข้าใช้งาน

  1. เปิดโปรแกรม 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 สำหรับการทำงาน

    Hive

  2. พิมพ์คำสั่งด้านล่างเพื่อขอ Ticket ในการใช้ Services ต่างๆจากระบบความปลอดภัย Kerberos เมื่อระบบถามพาสเวิร์ด ให้ใส่พาสเวิร์ดจากระบบ AD

    kinit <รหัสพนักงาน>@MEANET.MEA.OR.TH

    ตัวอย่างเช่น พนักงานรหัส 2237007 ขอ Ticket ด้วยคำสั่ง

    kinit 2237007@MEANET.MEA.OR.TH
  3. ตรวจสอบสถานะ Ticket ด้วยคำสั่ง klist ตามรูป

    Hive

การใช้งาน Interactive Hive Shell

  1. ที่ Prompt พิมพ์คำสั่ง beeline เพื่อเข้าใช้งาน Hive Shell จะเห็นรายละเอียดด้านล่าง

    Hive

  2. คุณสามารถเขียน SQL Code ได้ที่ Command Prompt ตัวอย่างเช่น ต้องการแสดงรายการ Database ที่มีในระบบให้พิมพ์

    สิทธิ

    คุณจะเห็นเฉพาะ Databases และ Tables ที่คุณได้รับสิทธิเท่านั้น

    SHOW DATABASES;

    ผลลัพธ์

    Hive

  3. หากคุณต้องการเลิกใช้งานให้พิมพ์คำสั่ง !quit

ตัวอย่าง - Query Data Engineering Database

Database ชื่อ airflow เป็น Database ที่ Data Engineer จากหลายหน่วยงานจัดทำข้อมูล คุณสามารถเลือกและค้นข้อมูลในฐานข้อมูลนี้ด้วยคำสั่ง

USE airflow;
SHOW TABLES;

Hive

ทดลอง Query ข้อมูลสรุปสภาพอากาศด้วยคำสั่ง

SELECT
province,
MIN(temp) as min_temp,
AVG(temp) as avg_temp,
MAX(temp) as max_temp
FROM weather
GROUP BY province;

Hive

ตัวอย่าง - Query รายละเอียดตาราง

หากคุณต้องการทราบว่าในตารางมี Columnอะไรบ้าง ประเภทข้อมูลแบบใด คุณสามารถใช้คำสั่งด้านล่างในการตรวจสอบ ในบางกรณี Data Engineer จะกรอกข้อมูลเพิ่มเติมในช่อง Comment เพื่อช่วยในการทำความเข้าใจข้อมูลมากขึ้น

DESCRIBE egat_billing;

Hive

ตัวอย่าง - 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);

Hive