
รู้จัก Vertica ก่อนซักนิด
มาเริ่มกันก่อนนะ Vertica คืออะไร (เอาจริงคนเขียนเพิ่งได้ ยินชื่อนี้มาไม่กี่เดือนที่ผ่านมานี่เอง) ฐานข้อมูลที่ สามารถเก็บข้อมูลขนาดใหญ่ (แบบใหญ่มาก ๆ) และประมวลผลข้อมูลได้แบบรวดเร็ว ซึ่งการทำงานของ Vertica นี้จะแบ่งการทำงานภายใต้ Node ที่แยกออกจากกันทำให้สามารถ Query ข้อมูลได้ไวมากขึ้น
รายละเอียด คร่าว ๆ ละกัน มาดูการติดตั้งเลยดีกว่า
ก่อนเริ่มให้ทุกเครื่อง มี Docker ติดเครื่องไว้ก่อนนะ สามารถดูการติดตั้งได้ที่
สำหรับ Window
https://runnable.com/docker/install-docker-on-windows-10
สำหรับ Mac
https://docs.docker.com/v17.12/docker-for-mac/install/#install-and-run-docker-for-mac
มาเริ่มติดตั้งกันเลยดีกว่า
เริ่มด้วยการรัน Terminal ด้วยคำสั่ง (ถ้าใครใช้ Window สามารถ RUN CMD เป็น Run as Administrater)
docker pull cjonesy/docker-vertica
คำสั่งนี้จะเป็นการ ดึง Image จาก Docker hub มายังเครื่องของเรา
เมื่อ pull Image เรียบร้อยแล้วก็ทำการเช็คก่อนซักนิด
Docker images

เมื่อทำการดึง Image มาเรียบร้อยแล้วก็จะเริ่มรัน container ด้วยคำสั่ง
docker run -d -p 37878:5433 -h localhost --name vertica cjonesy/docker-vertica
**อธิบายหน่อย
-p หมายถึง port ที่สามารถเข้าถึงได้จาก ภายนอกไปยัง port 5432 ภายใน container
-h หมายถึง ip ที่สามารถเข้าถึง container ได้
–name หมายถึง ชื่อ container ที่เราสร้างขึ้น
ต่อมาเช็คสักนิดว่า Container เราได้สั่งรันไป รันสำเร็จรึเปล่า
docker ps -a

ถ้า Container รันสำเร็จ ก็มาเริ่มใช้งานได้เลย ก่อนอื่นเข้าไปภายใน Container ก่อนเลย
docker exec -it vertica bash
ก็จะได้
root@localhost:/#
ให้รันคำสั่งต่อด้วย
su dbadmin
และ
vsql

ติดตั้งเรียบร้อยแล้ว สามารถเช็ค version vertica ได้โดย
SELECT version();

เมื่อติดตั้งเสร็จเรียบร้อยแล้ว มาลองนำเข้าข้อมูลกัน ซึ่ง vertica รองรับการนำเข้าข้อมูลได้หลากหลาย เช่น .csv , .txt , .parquet ฯลฯ ในบทความนี้เราจะใช้ .csv มาเป็นตัวอย่างการนำเข้าข้อมูล สามารถทำตามกันได้เลย
ก่อนอื่น ออกจาก vsql ก่อน ด้วยคำสั่ง
dbadmin=> \q
โหลดตัวอย่างไฟล์มาลองใช้กัน
# mkdir data //สร้างโฟลเดอร์ data
# cd data //เข้าไปยังโฟลเดอร์
# wget https://www.stats.govt.nz/assets/Uploads/Annual-enterprise-survey/Annual-enterprise-survey-2017-financial-year-provisional/Download-data/annual-enterprise-survey-2017-financial-year-provisional-csv.csv //download example .csv ไฟล์
# vsql //เข้าไปยัง vertica
เริ่มนำเข้าข้อมูลได้เลย
create table annual_enterprise_survey (
Year varchar(255),
Industry_aggregation_NZSIOC varchar(255),
Industry_code_NZSIOC varchar(255),
Industry_name_NZSIOC varchar(255),
Units varchar(255),
Variable_code varchar(255),
Variable_name varchar(255),
Variable_category varchar(255),
Value varchar(255),
Industry_code_ANZSIC06 varchar(255),
unique (Variable_name)
);
//สร้าง table ชื่อ annual_enterprise_survey
copy annual_enterprise_survey from local '/data/annual-enterprise-survey-2017-financial-year-provisional-csv.csv' SKIP 1 delimiter ',' ENCLOSED BY '"' ABORT ON ERROR NO COMMIT ;
//นำข้อมูล จาก csv เข้าไปยัง vertica
รันเรียบร้อย ก็จะได้ตาราง annual_enterprise_survey ที่มีข้อมูลจาก csv ไฟล์ ทั้งหมด

สำหรับ บทควานนี้ก็ขอจบเพียงเท่านี้ ไว้เจอกันใหม่ ในบทความหน้า Bye Bye 🙂