Trong bài tutorial này, chúng ta sẽ tiến hành cài đặt và chạy thử Cassandra trên hệ điều hành Linux (Ubuntu 18.04.1 LTS). Trước hết các bạn tiến hành download phiên bản mới nhất trên trang chủ của Cassandra rồi tiến hành giải nén vào một thư mục bất kỳ (ví dụ như: ~/Workspace/BigData/Tools).

Để khởi chạy Cassandra, ta chỉ cần mở một cửa sổ terminal rồi chạy file bin/casandra. Tuy nhiên trong một số trường hợp các bạn có thể gặp phải lỗi ‘ThreadPriorityPolicy=42’ như sau:

Lỗi này phát sinh là do Cassandra chưa hỗ trợ đầy đủ cho các phiên bản java 9 trở lên. Do đó cách đơn giản nhất là ta thiết lập java 8 cho việc khởi chạy Cassandra bằng cách thêm dòng sau vào file bin/casandra (để cài đặt java 8 trên Ubuntu các bạn dùng lệnh “sudo apt-get install openjdk-8-jre”):

Sau khi khắc phục xong lỗi, ta khởi chạy lại Cassandra:

Để kiểm tra lại việc khởi chạy Cassandra, ta chạy CQL Shell (chạy file bin/cqlsh) như sau:

CQL (Cassandra Query Langugage) được sử dụng trong Apache Cassandra để thực hiện các thao tác trên dữ liệu. CQL được thiết kế tương tự như SQL để giúp người dùng có kinh nghiệm về SQL có thể dễ dàng sử dụng CQL. Các syntax của CQL cũng tương tự như SQL, thậm chí nhiều syntax giống hệt với SQL. Tuy nhiên các bạn cần lưu ý rằng Cassandra là một NoSQL database nên cách thức Cassandra lưu trữ và truy vấn dữ liệu sẽ khác với SQL (CQL không hỗ trợ JOIN, GROUP BY, TRANSACTIONS và các syntax phức tạp,..).

Tiếp theo ta thực hành việc sử dụng Cassandra với CQL Shell bằng cách tạo một Keyspace trong Cassandra sử dụng syntax sau:

Ví dụ, ta có thể tạo một keyspace với tên TestKeySpace như sau:

Để kiểm tra việc tạo KeySpace, ta sử dụng lệnh DESCRIBE:

Như vậy ta thấy testkeyspace đã được tạo ra thành công và để sử dụng keyspace này ta dùng lệnh USE như sau:

Tiếp theo, ta tạo một table với tên emp (employer) cho testkeyspace như sau (để liệt kê tất cả các tables có trong một keyspace ta sử dụng lệnh: DESCRIBE tables):

Tương tự như SQL, ta sử dụng SELECT để truy xuất dữ liệu trong emp (do table này chưa có dữ liệu nên chỉ hiển thị tên các column):

Để nhập dữ liệu vào table này, ta cũng sử dụng hàm INSERT với syntax như sau:

Ví dụ ta thêm một dữ liệu vào emp:

Như vậy ta đã hoàn thành việc cài đặt Cassandra và tiến hành chạy thử Cassandra với một số thao tác cơ bản sử dụng CQL Shell. Trong bài tutorial tiếp theo, chúng ta sẽ thực hành việc sử dụng Cassandra API với IntelliJ thay vì sử dụng CQL Shell.

Tháng Một 11, 2019
ITechSeeker