Статьи

Начало работы с Apache Cassandra и Java (часть I)

На этой странице вы узнаете достаточно для начала работы с NoSQL Apache Cassandra и Java, в том числе как установить, попробовать некоторые основные команды и что делать дальше.

Требования

Чтобы следовать этому руководству, у вас уже должен быть запущенный экземпляр Cassandra, и вы прошли через 10 минут здесь: http://planetcassandra.org/create-a-keyspace-and-table/ .

Если вы уже ознакомились с частью I, обязательно ознакомьтесь с разделом Начало работы с Apache Cassandra и Java, часть II .

У вас должны быть все еще настроены демо-клавиша и схема, мы будем ссылаться на нее ниже.

Настроить

Для этой демонстрации мы собираемся создать простое консольное приложение. Откройте текстовый редактор и создайте файл Java с классом «GettingStarted» и одним основным методом.

1
2
3
public class GettingStarted {
  
        public static void main(String[] args) {

Нам также необходимо скачать файл jar драйвера со страницы загрузок. Кликните сюда. Как только он будет загружен, вам нужно развернуть его в рабочем каталоге. Затем мы должны убедиться, что мы включили его в classpath при компиляции нашего файла .java.

Например:

javac -classpath cassandra-java-driver-2.0.2/cassandra-driver-core-2.0.2.jar:. GettingStarted.java

Когда мы запускаем файл:

java -classpath cassandra-java-driver-2.0.2/*:cassandra-java-driver-2.0.2/lib/*:. GettingStarted

Попробуй это

Весь наш код будет идти в наш основной метод. Сначала нам нужно создать поля экземпляра кластера и сеанса для хранения ссылок. Сеанс будет управлять подключениями к нашему кластеру.

1
2
Cluster cluster;
Session session;

Подключитесь к своему экземпляру, используя метод Cluster.builder. Это добавит контактную точку и создаст экземпляр кластера. Получите сеанс из вашего кластера, подключившись к «демо» клавишному пространству.

1
2
3
// Connect to the cluster and keyspace "demo"
cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
session = cluster.connect("demo");

Теперь, когда вы подключены к пространству клавиш «demo», давайте вставим пользователя в таблицу «users»

1
2
// Insert one record into the users table
session.execute("INSERT INTO users (lastname, age, city, email, firstname) VALUES ('Jones', 35, 'Austin', '[email protected]', 'Bob')");

Используя драйвер Java, мы можем легко вытащить пользователя обратно

1
2
3
4
5
// Use select to get the user we just entered
ResultSet results = session.execute("SELECT * FROM users WHERE lastname='Jones'");
for (Row row : results) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
}

Поскольку у Боба день рождения, мы собираемся обновить его возраст.

1
2
3
4
5
6
7
8
// Update the same user with a new age
session.execute("update users set age = 36 where lastname = 'Jones'");
// Select and show the change
results = session.execute("select * from users where lastname='Jones'");
for (Row row : results) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
  
}

Теперь давайте удалим Боба из таблицы. Затем мы можем распечатать все строки. Вы заметите, что информация Боба больше не возвращается после удаления (другие могут, если вы ранее добавили пользователей).

1
2
3
4
5
6
7
// Delete the user from the users table
session.execute("DELETE FROM users WHERE lastname = 'Jones'");
// Show that the user is gone
results = session.execute("SELECT * FROM users");
for (Row row : results) {
System.out.format("%s %d %s %s %s\n", row.getString("lastname"), row.getInt("age"),  row.getString("city"), row.getString("email"), row.getString("firstname"));
}

Убедитесь, что соединение закрывается, как только вы закончите.

1
2
3
4
// Clean up the connection by closing it
cluster.close();
    }
}

CQL очень похож на SQL, во многих случаях будет работать тот же синтаксис. Это делает запрос данных очень простым, если у вас есть опыт работы с реляционными базами данных.

Вам только что удалось подключиться к кластеру Cassandra и выполнить запросы к действующей (локальной) базе данных. Надеюсь, это демонстрирует, насколько просто использовать Cassandra с помощью драйвера Java. Суть полного консольного приложения для этого образца доступна на GitHub .

Больше ресурсов

Начало работы с Apache Cassandra и Java, часть II .

Прочитайте документацию по драйверу Java.

Узнайте больше о готовых заявлениях для безопасности и производительности.

Читайте больше на CQL .

Ссылка: Начало работы с Apache Cassandra и Java (часть I) от нашего партнера по JCG Ребекки Миллс в блоге Planet Cassandra .