HBase Создать таблицу с помощью Java Пример API и оболочки

⚡ Умное резюме

HBase хранит данные в таблицах, и вы можете создавать и управлять этими таблицами двумя способами: через Java API с HTableDescriptили через HBaseAdmin, или непосредственно в оболочке HBase с помощью команды create.

  • ☕ Java API: Создавайте таблицы в коде с помощью HTable.Descriptили, HColumnDescriptили, и HBaseAdmin.
  • 🐚 Оболочка создаст: Команда create создает таблицу на основе имени и одного или нескольких семейств столбцов.
  • 🧬 Семейства столбцов: Каждая таблица должна содержать как минимум одно семейство столбцов, определяемое при создании таблицы.
  • 🔧 Изменить таблицы: Команда `alter` добавляет семейства столбцов, устанавливает значения `VERSIONS` или изменяет атрибуты на уровне таблицы.
  • 🇧🇷 Жизненный цикл таблицы: Перед изменением или удалением таблицы отключите ее, а затем снова включите, чтобы возобновить запись.
  • 🤖 Искусственный интеллект в качестве помощника: Искусственный интеллект-помощники составляют команды для создания, изменения и удаления элементов, а также проверяют структуру семейств столбцов.

Создание таблицы в HBase с помощью Java Пример использования API и команд оболочки.

Как создать таблицу в HBase с помощью Java API

В HBase таблицы можно создавать двумя способами: через Java API и через оболочку HBase. В этом разделе рассматривается... Java API, который позволяет приложению создавать таблицы и программно загружать данные в рамках более крупной задачи.

Через Java API, мы можем создавать таблицы в HBase, а также загружать данные в таблицы, используя Java программирование. Здесь мы настраиваем две вещи:

  • Установление соединения с HBase через Java API.
  • . Eclipse для Java программирование, отладка и тестирование.

Ниже приведены шаги по созданию таблиц в HBase с помощью Java API.

Шаг 1) Создайте Java Проект в Eclipse

На этом этапе мы собираемся создать Java проекта в Eclipse для подключения к HBase, названного «HbaseConnection».

Новые Java В приведенном ниже диалоговом окне проекта показана настройка проекта «HbaseConnection»:

Eclipse Новое Java Диалоговое окно проекта для создания проекта HbaseConnection с помощью JavaСреда SE-1.7

Если мы посмотрим на скриншот выше:

  • Укажите название проекта в этом поле. В нашем случае название проекта — «HbaseConnection».
  • Установите этот флажок, чтобы указать место сохранения по умолчанию. Здесь путь — /home/hduser/work/HbaseConnection.
  • Установите флажок Java Здесь окружающая среда. В данном случае JavaСЭ-1.7 - это Java издание.
  • Выберите вариант сохранения файла. В нашем случае мы выбрали второй вариант: «Создать отдельную папку для исходных файлов и файлов классов».
  • Нажмите кнопку «Готово», которая создаст проект «HbaseConnection». Eclipse и открывает Eclipse домашняя страница.

Шаг 2) Настройте путь сборки в Eclipse

На Eclipse На главной странице выполните следующие действия, чтобы открыть конфигурацию пути сборки:

Right click on project -> Select Build Path -> Configure build path

На скриншоте ниже показано контекстное меню, вызываемое щелчком правой кнопки мыши для открытия настроек пути сборки:

Eclipse В контекстном меню проекта выберите пункт «Путь сборки», затем «Настроить путь сборки».

На скриншоте выше:

  • Щелкните правой кнопкой мыши по проекту.
  • Выберите Путь сборки.
  • Выберите «Настроить путь сборки».

После нажатия кнопки «Настроить путь сборки» откроется другое окно, показанное на скриншоте ниже. На вкладке «Библиотеки» в проект добавляются JAR-файлы HBase и Hadoop:

Eclipse Java Вкладка «Библиотеки пути сборки» позволяет добавить внешние JAR-файлы HBase и Hadoop.

На этом этапе мы добавляем соответствующие JAR-файлы HBase в... Java проект, как показано на скриншоте.

  • Важные JAR-файлы, которые необходимо добавить: hbase-0.94.8.jar и hadoop-core-1.1.2.jar.
  • Перейдите во вкладку «Библиотеки».
  • Нажмите кнопку «Добавить внешние JAR-файлы».
  • Выберите необходимые важные JAR-файлы.
  • Нажмите кнопку «Готово», чтобы добавить эти файлы в папку «src» файла. Java проект в рамках программы «Библиотеки».

После добавления JAR-файлов они отображаются в каталоге «src» проекта, как показано ниже:

Eclipse В обозревателе проекта отображаются добавленные JAR-файлы HBase и Hadoop в исходном коде проекта.

Все JAR-файлы, входящие в проект, теперь готовы к использованию в экосистеме Hadoop.

Шаг 3) Установите соединение HBase

На этом этапе с помощью файла HBaseConnection.java устанавливается соединение с HBase. Java кодирование.

На Eclipse верхнее меню, выполните Java Программа, как показано ниже: Запуск -> Запустить как -> Java Приложение. В меню ниже показан процесс запуска программы:

Eclipse Беги как Java Запуск программы HBaseConnection через меню приложения

  • Выберите «Выполнить».
  • Выберите «Выполнить как» Java Заявка.
  • Этот код устанавливает соединение с HBase через Java API.
  • После выполнения этого кода в HBase создается таблица «guru99» с двумя семействами столбцов, названными «education» и «projects». В настоящее время в HBase создается только пустая схема.

Приведённый ниже фрагмент кода демонстрирует работу HTable.Descriptили вызовы функции addFamily, которые создают схему таблицы:

Java код с использованием HTableDescriptили добавьте addFamily, чтобы определить таблицу guru99 со столбцами education и projects family.

На скриншоте выше мы выполняем следующие функции:

  • Использование HTableDescriptИли же мы можем создать таблицу «guru99» в HBase.
  • Используя метод addFamily, мы добавляем столбцы «education» и «projects» в качестве семейств столбцов к таблице «guru99».

Приведённый ниже код установит соединение с HBase и создаст таблицу «guru99» с двумя семействами столбцов. Разместите этот код в файле HBaseConnection.java:

// Place this code inside Hbase connection
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
Import org.apache.hadoop.hbase.client.HBaseAdmin;

public class HBaseConnection
{
    public static void main(String[] args) throws IOException
    {
	HBaseConfigurationhc = new HBaseConfiguration(new Configuration());
	HTableDescriptorht = new HTableDescriptor("guru99");

	ht.addFamily( new HColumnDescriptor("education"));
	ht.addFamily( new HColumnDescriptor("projects"));
	System.out.println( "connecting" );
	HBaseAdminhba = new HBaseAdmin( hc );

	System.out.println( "Creating Table" );
	hba.createTable( ht );
	System.out.println("Done......");
    }
}

Это необходимый код, который нужно разместить в файле HBaseConnection.java перед запуском программы. Java программу.

После запуска этой программы устанавливается соединение с HBase, которая, в свою очередь, создает таблицу с именами столбцов.

  • Название таблицы — «guru99».
  • В столбцы входят категории «образование» и «проекты».

Шаг 4) Проверьте созданную таблицу в HBase.

Проверить, создана ли таблица «guru99» в HBase с двумя семействами столбцов, можно, используя режим командной оболочки HBase с помощью команды «list». Команда «list» предоставляет информацию обо всех таблицах, созданных в HBase.

Выполнение команды `list` в оболочке HBase подтверждает наличие новой таблицы, как показано ниже:

Вывод команды HBase shell list, показывающий, что таблица guru99 была создана.

  • Code Проверка в оболочке HBase выполняется командой «list».
  • Если выполнить команду «list», отобразится список таблиц, созданных в HBase. В нашем случае мы видим, что создана таблица «guru99».

HBase Создать таблицу с помощью оболочки

Кроме того, Java С помощью API вы можете создать таблицу непосредственно из оболочки HBase, что является самым быстрым способом настройки таблицы для быстрых тестов. Синтаксис для создания таблицы в HBase с помощью оболочки выглядит следующим образом:

Syntax: create <tablename>, <columnfamilyname>

Пример:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

Приведенный выше пример объясняет, как создать таблицу в HBase с указанным именем, заданным в соответствии со спецификациями для каждого семейства столбцов. Кроме того, мы можем передавать в нее некоторые атрибуты, относящиеся к области видимости таблицы.

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}

Здесь блок {NAME=>'Edu', VERSIONS=>…} задает семейство столбцов с именем «Edu» и количество версий ячеек, которые оно хранит. Большое число является лишь иллюстративным; на практике значение VERSIONS может быть небольшим, например, 3 или 5.

Перечислите, опишите и проверьте таблицы HBase.

Создание таблицы — это лишь первый этап работы с таблицами в HBase. После создания таблицы «guru99» несколько общих команд позволяют проверить её состояние и подтвердить его перед чтением, записью или изменением данных. Все эти команды можно запустить из... оболочка HBase.

Команда `list` возвращает все таблицы пользователей в HBase:

hbase> list

Команда describe отображает структуру таблицы, включая семейства столбцов и информацию о том, включена ли она в данный момент:

hbase> describe 'guru99'

Команда exists проверяет наличие таблицы, а is_enabled сообщает, может ли таблица принимать операции записи:

hbase> exists 'guru99'
hbase> is_enabled 'guru99'

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

Изменение таблицы HBase

Схема таблицы HBase не фиксируется после создания. Команда `alter` изменяет семейства столбцов и атрибуты области видимости таблицы без ее повторного создания. В зависимости от версии HBase, возможно, потребуется сначала отключить таблицу, затем выполнить команду `alter` и снова включить ее.

Чтобы добавить новое семейство столбцов в таблицу «guru99»:

hbase> alter 'guru99', {NAME => 'contact'}

Чтобы задать количество версий, которые может хранить семейство столбцов:

hbase> alter 'guru99', NAME => 'education', VERSIONS => 5

Чтобы удалить семейство столбцов из таблицы:

hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}

Вы также можете изменять атрибуты, относящиеся к области видимости таблицы. Например, пометить таблицу как доступную только для чтения или установить максимальный размер файла региона в 128 МБ:

hbase> alter 'guru99', READONLY
hbase> alter 'guru99', MAX_FILESIZE => '134217728'

Поскольку команда `alter` перезаписывает схему, тщательно планируйте изменения в рабочей таблице и подтверждайте результат с помощью команды `describe`.

Отключение, включение и удаление таблиц HBase

Для удаления таблицы или применения определенных изменений HBase требует предварительного ее отключения. Отключение переводит таблицу в автономный режим, поэтому ни один клиент не сможет читать или записывать в нее данные, что делает структурные изменения безопасными.

Отключите таблицу и проверьте её состояние с помощью параметра is_disabled:

hbase> disable 'guru99'
hbase> is_disabled 'guru99'

Чтобы возобновить чтение и запись в таблицу, снова включите ее:

hbase> enable 'guru99'

Перед удалением таблицу необходимо отключить.ping Эта команда безвозвратно удалит таблицу и все ее данные, поэтому используйте ее с осторожностью:

hbase> disable 'guru99'
hbase> drop 'guru99'

Для удаления нескольких таблиц одновременно функция drop_all удаляет все таблицы, имя которых соответствует регулярному выражению. Функции create, alter, disable, enable и drop охватывают весь жизненный цикл таблиц. обработка данных в таблицах HBase.

Часто задаваемые вопросы (FAQ)

Лучшая практика — это минимизация количества семейств столбцов, в идеале от одного до трех. HBase объединяет и сжимает все семейства столбцов в одном регионе, поэтому лишние семейства распределяют данные по большему количеству файлов и замедляют чтение и запись. По возможности группируйте связанные столбцы в одно семейство.

Нет. При создании вы определяете только семейства столбцов. Квалификаторы столбцов являются динамическими и могут быть добавлены к любой строке при записи данных. Такая гибкая схема позволяет каждой строке содержать разные столбцы без предварительного изменения таблицы.

Используйте команду `truncate 'guru99'`, которая отключает таблицу, удаляет её и создаёт заново с теми же семействами столбцов. Схема остаётся неизменной, при этом удаляется каждая строка. Это быстрее и чище, чем удаление строк по одной.

В примере используются HBaseAdmin и HTable.DescriptИли же оба варианта устарели с версии HBase 1.0. Современный код получает объект Admin из объекта Connection через ConnectionFactory и строит схему с помощью Table.Descriptсемейство строителей и колоннDescriptorBuilder. Логика создания таблиц остается прежней.

Параметр VERSIONS определяет, сколько версий каждой ячейки семейства столбцов с метками времени сохраняется. Значение по умолчанию — 1. Запрос более старых версий с помощью команд get или scan возвращает их до тех пор, пока не будет превышено допустимое количество сохраняемых версий, после чего в процессе сжатия удаляются самые старые ячейки.

HBase подходит для очень больших, разреженных наборов данных, требующих быстрого произвольного чтения и записи поверх Hadoop и HDFS. Типичные области применения включают временные ряды, обмен сообщениями и аналитику в реальном времени, где таблицы разрастаются до миллиардов строк на множестве узлов.

Искусственный интеллект, используемый в качестве помощника при программировании, и большие языковые модели формируют команды создания, изменения и удаления на основе подсказок на простом языке, объясняют структуру семейств столбцов и отмечают рискованные операции, такие как удаление.ping таблица. Машинное обучение также может анализировать шаблоны доступа, чтобы рекомендовать более подходящие варианты расположения строк и семейств, хотя каждое предложение должно быть проверено инженером.

Да. Второй пилот GitHub может генерировать команды оболочки HBase и Java Клиентский код для создания, изменения и удаленияping Таблицы из короткого комментария. RevПеред запуском проверьте вывод программы на предмет правильного имени таблицы, семейств столбцов и текущего API администратора.

Подведем итог этой публикации следующим образом: