На этой странице вы узнаете достаточно для начала работы с 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 . |