На этой странице вы узнаете достаточно для начала работы с 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 tablesession.execute("INSERT INTO users (lastname, age, city, email, firstname) VALUES ('Jones', 35, 'Austin', 'bob@example.com', 'Bob')"); |
Используя драйвер Java, мы можем легко вытащить пользователя обратно
|
1
2
3
4
5
|
// Use select to get the user we just enteredResultSet 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 agesession.execute("update users set age = 36 where lastname = 'Jones'");// Select and show the changeresults = 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 tablesession.execute("DELETE FROM users WHERE lastname = 'Jones'");// Show that the user is goneresults = 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 itcluster.close(); }} |
CQL очень похож на SQL, во многих случаях будет работать тот же синтаксис. Это делает запрос данных очень простым, если у вас есть опыт работы с реляционными базами данных.
Вам только что удалось подключиться к кластеру Cassandra и выполнить запросы к действующей (локальной) базе данных. Надеюсь, это демонстрирует, насколько просто использовать Cassandra с помощью драйвера Java. Суть полного консольного приложения для этого образца доступна на GitHub .
Больше ресурсов
Начало работы с Apache Cassandra и Java, часть II .
Прочитайте документацию по драйверу Java.
Узнайте больше о готовых заявлениях для безопасности и производительности.
Читайте больше на CQL .
| Ссылка: | Начало работы с Apache Cassandra и Java (часть I) от нашего партнера по JCG Ребекки Миллс в блоге Planet Cassandra . |