Apache IoTDB — это интегрированный менеджер данных для сбора, хранения и анализа временных рядов. Он характеризуется легкостью, высокой производительностью и удобством использования, идеально интегрируется с экосистемами Hadoop и Spark и предназначен для применения в промышленных интернет-технологиях, где требуется быстрое внесение и сложный анализ огромного объёма временных данных.
http://www.apache.org/licenses/LICENSE-2.0
Кроме случаев, когда это требует законодательства или явно согласовано в письменной форме, программное обеспечение, распространяемое по данной лицензии, предоставляется на условиях "как есть". Без гарантий или условий любого вида, как явных, так и подразумеваемых. См. Лицензию для получения информации о специфическом языке, регулирующем права и условия использования данного программного обеспечения.--> English | Chinese
Основные возможности IoTDB следующие:1. Гибкая стратегия развертывания. IoTDB предоставляет пользователям инструмент однокликовой установки на облачной платформе или терминальных устройствах, а также инструмент синхронизации данных, который связывает данные на облачной платформе и терминальных устройствах. 2. Низкие затраты на аппаратное обеспечение. IoTDB способен достигать высокого соотношения сжатия дискового пространства. 3. Эффективная структура каталога. IoTDB поддерживает эффективную организацию сложных временных рядов данных от устройств умного сетевого соединения, организацию временных рядов данных от устройств одного типа, размытое поисковое стратегию для больших и сложных каталогов временных рядов данных. 4. Высокопроизводительное чтение и запись. IoTDB поддерживает доступ к данным сильного соединения миллионов низкого энергопотребления устройств, высокоскоростное чтение и запись данных для устройств умного сетевого соединения и смешанных устройств, упомянутых выше. 5. Богатый семантический запрос. IoTDB поддерживает выравнивание времени для временных рядов данных между устройствами и измерениями, вычисление в поле временных рядов (преобразование частотного диапазона) и поддержка богатых агрегирующих функций в временной размерности. 6. Легкость начала работы.IoTDB поддерживает язык, похожий на SQL, стандартные API JDBC и инструменты импорта/экспорта, которые легко использовать. 7. Бесшовная интеграция с современной экосистемой открытого программного обеспечения. IoTDB поддерживает аналитические экосистемы, такие как Hadoop, Spark, и средства визуализации, такие как Grafana.Для получения последней информации о IoTDB, пожалуйста, посетите официальный сайт IoTDB. Если вы столкнулись с проблемами или обнаружили ошибки при использовании IoTDB, пожалуйста, сообщите об этом в JIRA.
Эта короткая инструкция поможет вам пройти через базовый процесс использования IoTDB. Для более подробного руководства посетите наш сайт по адресу User Guide.
Чтобы использовать IoTDB, вам потребуется:1. Java >= 1.8 (версии 1.8, 11 и 13 проверены. Убедитесь, что путь к среде установлен правильно). 2. Maven >= 3.1 (если вы хотите скомпилировать и установить IoTDB из исходного кода). 3. Установите максимальное количество открытых файлов как 65535, чтобы избежать ошибки "слишком много открытых файлов".
IoTDB предлагает три метода установки, вы можете обратиться к следующим рекомендациям и выбрать тот, который лучше всего подходит вам:
Здесь в разделе Быстрый старт мы даем краткое описание использования исходного кода для установки IoTDB. Для дополнительной информации обратитесь к главе 3 User Guide.## Сборка из исходного кода
Пропустите этот абзац, если вы используете Windows. Поскольку мы используем Thrift в качестве модуля RPC (коммуникация и определение протокола), Thrift включается во время компиляции, поэтому требуется Thrift Compiler версии 0.13.0 (или выше) для генерации кода на Java. Официально Thrift предоставляет двоичный компилятор для Windows, но к сожалению, они не предоставляют его для Unix OS. Однако мы скомпилировали Unix-компилятор самостоятельно и разместили его на GitHub, и с помощью плагина Maven он будет автоматически скачиваться во время компиляции. Этот компилятор работает корректно с gcc8 или более поздними версиями, Ubuntu, MacOS и CentOS, но предыдущие версии и другие операционные системы не гарантируются. Если вы обнаружите, что ваша версия gcc или операционная система не поддерживают предварительно скомпилированный компилятор, пожалуйста, обновите вашу версию gcc или следуйте официальным инструкциям Thrift для компиляции компилятора самостоятельно и переименуйте его в {project_root}/thrift/target/tools/thrift_0.12.0_0.13.0_linux.exe
.Если вы уже установили совместимый компилятор Thrift, вы можете добавить следующий параметр при запуске Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR_LOCAL_THRIFT_BINARY_FILE>
.
Если вы хотите скачать компилятор Thrift из другого места, вы можете добавить следующий параметр: -Dthrift.download-url=<THE_REMOTE_URL_FOR_DOWNLOADING> -Dthrift.exec.absolute.path=<THE_DOWNLOADED_BINARY_FILE_NAME>
. Или вы можете напрямую изменить наш корневой pom, если вы достаточно опытны.
Вот официальный сайт Thrift: https://thrift.apache.org/. Вы можете скачать исходный код с помощью команды:
git clone https://github.com/apache/iotdb.git
Основной веткой по умолчанию является dev ветка. Если вы хотите использовать выпущенную версию x.x.x:
git checkout release/x.x.x
Под корневым путём iotdb:
> mvn clean package -DskipTests
Затем бинарная версия (включая как сервер, так и cli) будет доступна по пути distribution/target/apache-iotdb-{project.version}-bin.zip
ВАЖНО: Директории "thrift/target/generated-sources/thrift" и "antlr/target/generated-sources/antlr4" должны быть добавлены в список источников для избежания ошибок компиляции в IDE.
Файлы конфигурации находятся в папке "conf"
iotdb-env.bat
, iotdb-env.sh
),iotdb-engine.properties
),logback.xml
).Для получения более подробной информации, обратитесь к Главе 3: Сервер.## Запуск
Вы можете выполнить следующие шаги для проверки установки. Если после выполнения команд нет ошибок, то установка завершена.
Пользователи могут запустить IoTDB с помощью скрипта start-server
, который находится в папке sbin
.
# Unix/OS X
> nohup sbin/start-server.sh >/dev/null 2>&1 &
или
> nohup sbin/start-server.sh -c <conf_path> -rpc_port <rpc_port> >/dev/null 2>&1 &
# Windows
> sbin\start-server.bat -c <conf_path> -rpc_port <rpc_port>
-c
и -rpc_port
являются необязательными.-c
указывает директорию системного файла конфигурации.-rpc_port
указывает порт RPC.rpc_port
переопределит значение rpc_port
в conf_path
.IoTDB предлагает различные способы взаимодействия с сервером. Здесь мы рассмотрим базовые шаги использования инструмента CLI для вставки и запроса данных.
После установки IoTDB существует по умолчанию пользователь 'root', его пароль также 'root'. Пользователи могут использовать этого
по умолчанию пользователя для входа в CLI и использования IoTDB. Скрипт запуска CLI находится в папке sbin
. При выполнении скрипта пользователю следует указать
IP, PORT, USER_NAME и PASSWORD. По умолчанию параметры равны -h 127.0.0.1 -p 6667 -u root -pw root
.
Вот команда для запуска CLI:
# Unix/OS X
> sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root
sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root
|_ | | _ _ || _ .|_ _ \ | | .--.|_/ | | \_| | |
. \ | |) |
| | / .'`\ \ | | | | | | | __'.
| || _. | | | | |.' /| |) |
||'..' || |.'|______/ версия x.x.x
IoTDB> успешно выполнен вход IoTDB>
#### Основные команды для IoTDB
Теперь рассмотрим способы создания временных рядов, вставки данных и запроса данных.
Данные в IoTDB организованы как временные ряды. Каждый временной ряд включает несколько пар данных-времени и принадлежит группе хранения. Перед определением временного ряда следует определить группу хранения с помощью команды SET STORAGE GROUP. Вот пример:
IoTDB> SET STORAGE GROUP TO root.ln
Можно также использовать команду SHOW STORAGE GROUP для проверки создаваемой группы хранения:
IoTDB> SHOW STORAGE GROUP +-----------------------------------+ | Storage Group| +-----------------------------------+ | root.ln| +-----------------------------------+ количество групп хранения = 1
После установки группы хранения можно использовать команду CREATE TIMESERIES для создания нового временного ряда. При создании временного ряда следует определить его тип данных и схему кодирования. В данном случае создаются два временных ряда:
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE
1. Запрос всех временных рядов в системе:
IoTDB> SHOW TIMESERIES +-------------------------------+------+---------------------+--------+--------+-----------+----+----------+ | временная_последовательность | alias|группа_хранения|dataType|кодировка|сжатие|tags|attributes| +-------------------------------+------+---------------------+--------+--------+-----------+----+----------+ | root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null| | root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY|null| null| +-------------------------------+------+---------------------+--------+--------+-----------+----+----------+ Общее количество временных_последовательностей = 2
2. Запрос конкретной временной последовательности (root.ln.wf01.wt01.status):
IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
+-------------------------------+------+-------------+--------+--------+-----------+----+----------+
| timeseries | alias|storage group|dataType|encoding|compression|tags|attributes|
+-------------------------------+------+-------------+--------+--------+-----------+----+----------+
| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|
+-------------------------------+------+-------------+--------+--------+-----------+----+----------+
Общее количество временных последовательностей = 1
```Вставка данных временной последовательности является базовой операцией в IoTDB, для выполнения которой можно использовать команду INSERT
. Перед вставкой необходимо назначить метку времени и конечный путь:
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)
Вставленные данные будут отображаться следующим образом:
IoTDB> SELECT status FROM root.ln.wf01.wt01
+-----------------------+------------------------+
| Time|root.ln.wf01.wt01.status|
+-----------------------+------------------------+
|1970-01-01T08:00:00.100| true|
|1970-01-01T08:00:00.200| false|
+-----------------------+------------------------+
Общее количество строк = 2
Вы также можете запросить несколько временных последовательностей с помощью одного SQL-запроса:
IoTDB> SELECT * FROM root.ln.wf01.wt01
+-----------------------+--------------------------+-----------------------------+
| Time| root.ln.wf01.wt01.status|root.ln.wf01.wt01.temperature|
+-----------------------+--------------------------+-----------------------------+
|1970-01-01T08:00:00.100| true| null|
|1970-01-01T08:00:00.200| false| 20.71|
+-----------------------+--------------------------+-----------------------------+
Общее количество строк = 2
Команды для выхода из CLI:
IoTDB> quit
или
IoTDB> exit
Для получения более подробной информации о поддерживаемых командах IoTDB SQL, обратитесь к справочнику SQL.
Сервер можно остановить с помощью Ctrl+C
или следующего скрипта:```
sbin/stop-server.sh
sbin\stop-server.bat
## Сборка только сервера
Под корневым путем iotdb:
mvn clean package -pl server -am -DskipTests
После сборки, сервер IoTDB находится в папке: "server/target/iotdb-server-{project.version}".
## Сборка только командной строки
Под корневым путем iotdb:
mvn clean package -pl cli -am -DskipTests
После сборки, команда строка IoTDB находится в папке "cli/target/iotdb-cli-{project.version}".
# Использование инструмента импорта и экспорта CSV
см. [Использование инструмента импорта и экспорта CSV](https://iotdb.apache.org/UserGuide/Master/System%20Tools/CSV%20Tool.html)
# Часто задаваемые вопросы при компиляции
см. [Часто задаваемые вопросы при компиляции исходного кода](https://iotdb.apache.org/Development/ContributeGuide.html#_frequent-questions-when-compiling-the-source-code)
# Свяжитесь с нами
### Группа QQ
* Группа пользователей Apache IoTDB: 659990460
### Группа WeChat
* Добавьте в друзья: tietouqiao, затем вас пригласят в группу.
см. [Присоединение к сообществу](https://github.com/apache/iotdb/issues/1995) для получения дополнительной информации!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )